在使用OpenCV4.4.0的dnn模块调用TensorFlow2训练好的模型时发现,官网下载的发布版没有编译CUDA相关代码,需要手动添加CUDA选项,重新编译OpenCV的源码,才能调用GPU进行模型前向推理。经过多次测试,推荐使用VS2017编译。
1、环境准备
- 安装VS2017(要求先于安装CUDA)
- 安装CUDA和cuDNN
- 安装CMake(推荐3.17以上的版本)
- 下载OpenCV4.4.0
- 下载对应版本的opencv_contrib
2、设置文件目录
为了便于描述,笔者将按照自己的文件目录设置介绍后续过程,在此说明笔者的目录设置。
- 在一个熟悉的目录中,新建一个文件夹opencv4,把opencv4.4.0的源码解压到此文件夹;
- 然后再在opencv4文件夹中新建一个opencv_contrib文件夹,把opencv_contrib4.4.0的源码解压到里面;
- 最后在opencv4文件夹中新建一个build文件夹。
3、用CMake生成VS2017工程文件
1.设置源码和构建路径
打开CMake,“Where is the source code:”选择yourpath/o