admin 管理员组文章数量: 887021
目录
1.引言
2. 运行环境与前期准备
3. 使用cmake进行编译
4. 使用vs2017进行工程编译
5. 如何使用
6. 问题及解决方法
6.1 文件download失败解决方法:
6.2 其他问题:
说明:这一块坑比较多,再参考了大量资料才成功实现,一次编译花费近两个小时,十分费神。笔者在前人基础上进行归纳终结,也记录了期间遇到的问题和解决方法,尽可能把实现步骤说明白。在此,也特别感谢博主:広仁,与他讨论了许多细节问题和错误,接下来进入正题。
1.引言
2019年12月23号,openCV发布了新版本4.2.0,其中比较重要的更新是对主流深度学习模型进行了cuda支持。openCV4.2.0
不过该模块还暂未以release版本发布,需要自己利用cmake进行导出编译,最终可用于c++/python下的opencv_dnn模块加速。
2. 运行环境与前期准备
运行系统:
1)win10 系统
需要提前安装的软件:
1) Visual Studio 2017 社区版(先安装好,否则cuda无法正常安装)
2) cuda10.0 和 cuDNN7.6.4 (后安装)
注:cuda安装也有坑,笔者会单独出一篇安装教程:地址
版本说明:cuDNN一定要7.5版本以上,否则CMake将无法识别出cuDNN路径。
3)OpenCV4.2.0 和 OpenCV Contrib 4.2.0
opencv 下载地址
opencv_contrib 下载地址
注:在github上将源码压缩包下载下来即可
4) Cmake3.18
cmake 下载地址 选择适合自己电脑的版本
版本说明:CMake版本不适宜太低,推荐3.14版本及以上。
3. 使用cmake进行编译
1. 打开cmake ,设置opencv源码目录和编译输出目录,并勾选
2. 点击configure,设置编译平台,之后开始第一次confirure
接下来就是第一个坑了,全程高能!!!!
3. 第一次configure后,中间会下载一些缓存文件,但用国内网基本都会失败,无法正常安装。但如果你是幸运儿,可以接着往下看,如果你相笔者一样下载了十几次都不成功,请看第六章:问题及解决方法。
4. 第一次configure,若输出窗口没有文件下载失败警告才可执行以下(内容比较多,滑动看看,有大红的位置就看看,仔细点)
勾选BUILD_opencv_world、WITH_CUDA、OPENCV_DNN_CUDA、
设置OPENCV_EXTRA_MODULES_PATH,之后第二次configure:
4.1 BUILD目录下:勾选BUILD_opencv_world
4.2 OPENCV目录下:勾选OPENCV_DNN_CUDA 、设置OPENCV_EXTRA_MODULES_PATH
注:选路径不要复制粘贴,要通过右方进入文件夹选
4.3 WITH目录下: 勾选WITH_CUDA
5. 若还有报错(第二次configure之后),找到CUDA_ARCH_BIN,根据https://developer.nvidia/cuda-gpus此网站找到自己显卡的算力填入(我的显卡是960M,算力为5),并且勾选CUDA_FAST_MATH,将OpenCV_GENERATE_SETUPVARS的勾去掉,第三次configure:
若无报错可往下继续:
6. Configure done后(没有任何报错),需要仔细检查以下信息:
(1)OpenCV中必须包含cuda、python3
(2)必须要检测到正确版本的CUDA和cuDNN
7. 步骤6的条件都满足后,可以点击Generate,generating done之后,点击Open Project.
到此cmake任务完成。
接下来考验耐心的时候到了!!!
4. 使用vs2017进行工程编译
1. 设置编译平台(Release/Debug均可)和 x64, 右键ALL_BUILD-生成,生成时间较长,需要1.5小时左右:
期间可能会有些乱码,大家不必惊慌,玩玩手机,耐心等待,此时电脑会比较卡。
2. 经过漫长等待,全部生成成功(前面步骤很重要啊)
3. 生成成功后,右键INSTALL-仅用于项目-仅生成INSTALL
至此,祝贺大家成功将CUDA编译至OpenCV DNN模块,接下去python平台下的opencv dnn进行测试。
5. 如何使用
在编译输出文件夹lib\python3\Release下的cv2.cp37-win_amd64.pyd 和 文件夹bin\Release目录下所有文件复制到python环境Lib\site-packages下。若你已经安装了opencv, 替换掉即可。
例如:笔者安装了使用的是anaconda自己创建的虚拟环境 test,所以我放到以下目录:
到此已经配置完成,之前的opencv编译文件使命完成,可以删除也可以保留备用。
6. 问题及解决方法
6.1 文件download失败解决方法:
方法1:巧借东风
最便捷的就是挂VPN,笔者用外网两次就全部下载成功
方法2: 自食其力
文件下载失败和网络有关系,而且一旦失败就会有多个文件下载失败,下面以第一个下载失败文件为例,进行说明,日志如下:
从上面可以看出,下载日志在保存在“E:\opencv4.2\opencv\sources\build\CMakeDownloadLog.txt”文件内,打开文件,搜索"ippicv", 第三行即为本文件信息:
其中上面为本地缓存路径,下面为下载网址,直接复制网址到浏览器下载,如果浏览器也下载失败,可以尝试将地址复制到迅雷进行下载.
下载后保存到“E:/opencv4.2/opencv/sources/.cache/ippicv/”目录,删除目录内大小0KB的文件(如果有), 并按照d222685246896fe089f88b8858e4b2f-ippicv_2019_win_intel64_20180723_general.zip重命名。
方法三:
最轻松的就是拿别人下好的了,笔者会上传百度云分享给大家,或者留下联系方式。
6.2 其他问题:
有些问题笔者并没遇到,所以无法给出解决方案,我把网上看到的分享给大家。
https://blog.csdn/length85/article/details/103767475#1
参考资料:
https://blog.csdn/stjuliet/article/details/107812875#comments_12992454
https://blog.csdn/weixin_39928773/article/details/103709184
https://blog.csdn/length85/article/details/103767475#1
版权声明:本文标题:01-深度学习-win10系统下配置OpenCV-DNN模块使用CUDA(支持nvidia 显卡加速) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1726839202h1037397.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论