Opencv4.4.0版本DNN模块使用CUDA加速教程VS2015/2017 Win10

本人以前编译opencv4.2版本的DNN模块支持CUDA加速成功了,后来时隔一年,编译opencv4.4版本DNN模块使用CUDA加速一直编译失败,那叫个酸爽,如果看到此博客的你也在为编译opencv4.4版本的DNN模块使用CUDA加速而痛苦时,静下心来,按照我提供的思路一步一步走下去,你会成功的。

CUDA安装与配置

根据自己的GPU选择合适的CUDA版本,我的是GeForce GTX 1080,选择CUDA10.1版本,按照默认地址安装就好,安装完之后看是否有环境变量。没有的话自己加上

CUDNN

cudnn一定要7.5版本以上,否则CMake将无法识别出cudnn路径。我使用的版本是cudnn7.6.5,将cudnn中bin、include、lib文件夹中的文件放入对应的cuda路径(我的路径为“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA”)下的文件夹中

CMake编译

打开CMake(我的版本是CMake 3.18.4),选择源码路径,以及生成路径吗,选择对应的VS版本,本人编译成功了VS2015和VS2017两个版本。

开始第一次Configue

 其中会下载一些第三方文件,可以自行下载,否则速度较慢。该版本的第三方文件我这边费尽九牛二虎之力下载完了,为opencv/sources/.cache/ffmpeg和ippicv

第一次configure完成之后,勾选BUILD_opencv_world以及勾选OPENCV_DNN_CUDA

选择解压好的opencv_contrib中的modules路径添加进来。勾选WITH_CUDA

第二次configure,cinfigure完成之后可能会报错,此时不管它,根据GPU算力表选择合适的CUDA_ARCH_BIN值,如我的是GeForce GTX 1080,则将CUDA_ARCH_BIN其余值删除,只留下6.1。

然后勾选CUDA_FAST_MATCH,点击configure。

等待configure完成之后,查看是否检测到了CUDA和cudnn,都出现YES之后,说明没有问题。这里有至少两个坑:

(1)如果没有检测到的话,需要确认是否CUDA和cudnn版本正确,否则后面编译将不会编译CUDA模块,白白浪费时间

(2)即便出现了YES后续也有可能编译不出opencv_world.lib,导致整个编译失败,本人在这块折腾了许久,后来发现是因为有几个模型文件没有下载成功,影响了整个编译。为opencv/sources/.cache/xfeature2d下的boostdesc和vgg的模型文件

以上问题都解决后,点击generate

generate done之后点击Open Project打开工程,在Release模式下右键点击ALL_BUILD,生成时间较长

生成之后,点击INSTALL->仅用于项目->仅生成INSTALL,至此编译完成。

 

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值