原创:PinkFeet
本文全程科学上网。
传统视觉算法时代,GPU 的作用没有现在明显。近些年来,随着深度学习方法崛起,卷积神经网络模块被嵌入到了 OpenCV,加上特定任务场景下的需求,GPU 的重要性越来越显著,计算机视觉从业人员用到 GPU 的机会越来越多。
首先,简单介绍一下 GPU。英伟达最新的一块显卡上的核心可以达到上万个,每一个核心可以同时进行运算,从而达到大规模降低运行时间的效果,但每一个核心运行的内容逻辑不能很复杂,所以它天然地适合做矩阵运算,尤其是高维的矩阵运算。如果任务实时性要求很高,就一定会要求使用 GPU。典型的应用场景有:无人驾驶、人脸识别等。无人驾驶场景对实时性的要求非常高,如果计算得不够快,车辆已经开出去很远,很可能引发安全问题。人脸识别场景对实时性的要求主要是从客户体验的角度考虑。另外,当模型的参数变得很多的时候,要训练一个模型需要很多时间,如果使用 GPU 训练模型,就能缩小训练时间,加快模型上线时间。
一、检查 GPU
为了编译 OpenCV,我们对 GPU 要做什么准备工作呢?确认硬件,即确认机器是否有显卡,是否有独立显卡(不能是核心显卡),品牌必须是英伟达,不可以是 AMD 或其他品牌的显卡,这是因为 OpenCV 需要 GPU 支持的时候,是通过 CUDA 编译,CUDA 是英伟达的辅助库,只有英伟达的显卡支持 CUDA 编译。因此说只有使用英伟达显卡,才可以添加 GPU 支持。打开 Nvidia Settings-(左下角)System Information,查看显卡型号和显卡驱动版本号。
二、安装驱动
根据显卡型号,去查显卡适配的驱动的最高版本号,并安装该版本的驱动。