OpenCV4.2 版本 DNN模块使用CUDA加速教程 VS2017 Window10

目录

CUDA安装与配置

cuDNN

CMake编译

运行测试

总结


 

CUDA安装与配置

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

以及,

cuDNN

cuDNN一定要7.5版本以上,否则CMake将无法识别出cuDNN路径。
打开下载好的cuDNN,如下图

将cuDNN中bin、include、lib文件夹中的文件放入对应CUDA路径下的文件夹中

CMake编译

打开CMake,选择源码路径,以及生成路径,选择对应VS版本。开始第一次Configue。

其中会下载一些第三方文件,可以自行下载,否则速度较慢。第一次configure完成之后,勾选BUILD_opencv_world.

以及,勾选OPENCV_DNN_CUDA,选择解压好的opencv_contrib中modules路径添加进来。

勾选WITH_CUDA。

进行第二次Configure,Configure完成之后可能会报错,此时不管他,根据GPU算力表选择合适的CUDA_ARCH_BIN值,如我的是RTX2080Ti,则将CUDA_ARCH_BIN其余值删除,只留下7.5。然后勾选CUDA_FAST_MATH,点击Configure。

等待Configure完成之后,查看是否检测到了CUDA和cuDNN,都出现YES之后,说明没有问题。这边是一个坑,需要注意,如果没有检测到的话,需要确认是否CUDA和cuDNN版本正确,否则后面的编译将不会编译CUDA模块,白白浪费时间。确认之后,点击Generate。

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

生成之后,右击INSTALL->仅用于项目->仅生成INSTALL

到这边就编译好了,Debug版本同理

运行测试

添加环境变量。

在测试代码中配置包含目录和库目录,添加附加依赖项,opencv_world420.lib

由于项目的关系,代码就不贴出来了,官方提供了一份代码示例。

在我自己的项目上运行,首先是CPU版本(I9-9900K),推理时间在22.45ms。

CUDA版本(RTX 2080Ti),推理时间是2.16ms。提升了10倍左右。

顺便贴一个OpenVINO推理引擎的运行效率,大概是8.17ms左右

总结

opencv和opencv_contrib版本要对应

在下载部分第三方库时也要找好对应版本。

勾选WITH_CUDA 、OPENCV_DNN_CUDA。

一定要查看cuDNN版本是否正确,否则几个小时的编译将是浪费时间。

最好使用VS2017版本,VS2015测试出现异常,编译失败。

原文链接:https://blog.csdn.net/weixin_39928773/article/details/103709184

  • 0
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值