darknet配置【Win10+VS2017+OpenCV3.2.0+CUDA9.2+cuDNNv7.6.3+1050Ti】

零.准备工作

踩了坑之后自然要记录一下…也方便重装系统之后再把环境配回来。(顺便给和我一样的小白盆友们减少点配环境的负担…)
本文配置环境的前提是已经安装好CUDA9.2且已经安装好VS2017、VS2017中有C++开发相关组件。
那么如何判断自己已经装好了CUDA呢?在win10右下角的任务图标里,有一个图标。
英伟达设置面板
单击进去之后找“系统信息”。
英伟达控制面板系统信息1
然后再点进去就可以看到自己的CUDA版本了。
CUDA版本信息
如果不能按照上述步骤进行操作,那么说明你没装好,请参考这里安装CUDA(其实实在不行就重装系统……我就是重装了一遍系统,把系统搞干净了之后,一遍就装成功了orz,当然后面还会说到,这里如果安装VS的话,还是会有坑……)。
接下来正式开始介绍安装步骤。

一.安装cuDNNv7.6.3

直接点这个,就可以下载对应于CUDA9.2的cuDNN了。
下载完成后直接解压,得到一个形如下图的文件夹。
cuDNN文件结构
直接把这几个文件复制粘贴到CUDA-dev目录(由于这个目录是当时安装CUDA时自定义的,所以你们的目录很有可能和我的不一样,但总之是形如下图的一个目录)中即可完成cuDNN的部署。cuDNN是一种插入式的工具,所以并不需要安装和部署,只需要做文件的增加/删除/替换即可,这样的好处在于无需修改注册表,可以很方便地进行版本更迭。
CUDA-dev目录结构
然后添加如下系统环境变量。

CUDA_PATH=上文中CUDA-dev的路径//比如我的就是xxx\CUDA-dev
CUDA_PATH_V9_2=和CUDA_PATH一样的路径
CUDA_BIN_PATH=%CUDA_PATH%\bin
CUDA_LIB_PATH=%CUDA_PATH%\lib\x64
CUDA_SDK_PATH=CUDA-samples的路径//比如我的就是xxx\CUDA-samples
CUDA_SDK_BIN_PATH=%CUDA_SDK_PATH%\bin\win64
CUDA_SDK_LIB_PATH=%CUDA_SDK_PATH%\common\lib\x64

Path系统变量添加如下路径。

%CUDA_LIB_PATH%
%CUDA_BIN_PATH%
%CUDA_SDK_LIB_PATH%
%CUDA_SDK_BIN_PATH%
xxx\CUDA-dev\lib\x64//注意修改成自己的路径
xxx\CUDA-dev\bin//注意修改成自己的路径
xxx\CUDA-samples\common\lib\x64//注意修改成自己的路径
xxx\CUDA-samples\bin\win64//注意修改成自己的路径

至此,CUDA和cuDNN方面的配置应该就算完成了。可以运行一下以下几条命令试一下,如果能得到类似结果(主要是显示PASS),说明到这一步都没有出现什么重大问题。

nvcc -V
cd CUDA-dev//记得换成自己的路径
.\extras\demo_suite\bandwidthTest.exe
.\extras\demo_suite\deviceQuery.exe

测试1
测试2
测试3

二.安装OpenCV3.2.0

首先安装,直接点这里即可下载3.2.0的EXE文件,直接傻瓜安装即可。
然后和上面一样,在Path系统变量中添加一个路径,OpenCV的安装流程就到此结束了。

OpenCV的安装路径\opencv\build\x64\vc14\bin//注意修改成自己的路径

三.下载并配置darknet

首先到这里下载darknet的魔改版(里面有支持VS开发的版本)。
接下来到build\darknet目录下,直接双击打开darknet.sln。
首先修改平台工具集,记得点击应用+确定。这是因为CUDA9.2不支持VS2017的较新版本,如果这里不修改后面会疯狂报错…而且如果这一步不先做,后面做什么都是白改
VS项目
还有这一步也非常重要,如果不做,后面也是白做…修改编译链接方式为Release x64
编译链接方式
修改平台工具集
然后还是在属性页里面,添加OpenCV相关依赖。
头文件
具体附加包含目录包括以下几个。(这里假定我的OpenCV安装路径为CV_PATH,大家注意修改成自己的安装路径)

CV_PATH\opencv\build\include
CV_PATH\opencv\build\include\opencv
CV_PATH\opencv\build\include\opencv2

静态库目录
具体附加库目录只需要添加一个CV_PATH\opencv\build\x64\vc14\lib。(这里假定我的OpenCV安装路径为CV_PATH,大家注意修改成自己的安装路径)
然后就是附加依赖项opencv_world320.lib
附加依赖项
接下来,修改CUDA相关的东西。

首先,如果是先装的VS2017后装的CUDA,那么这一小节应该是不用看的,因为CUDA应该会自动识别VS,然后将配置写到VS目录下。
CUDAInstaller\CUDAVisualStudioIntegration\extras\visual_studio_integration\MSBuildExtensions目录下的四个文件都复制到VS2017\Common7\IDE\VC\VCTargets\BuildCustomizations下,其中CUDAInstaller是CUDA的安装程序解压后得到的目录,VS2017是VS2017IDE主结构所在目录。

用记事本之类的文本编辑器打开与darknet.sln同级的darknet.vcxproj文件,用CUDA 9.2替换CUDA 10.0。不出意外应该有如图所示的两处。
CUDA9.2修改1
CUDA9.2修改2
之后最好重启一下VS2017,让它重新载入一下CUDA9.2相关的配置。

打开属性->配置属性->CUDA C/C++ ->Device->Code Generation删掉compute_75,sm_75,只保留一个compute_30,sm_30,如下图所示。这是因为CUDA9.2不支持原先的设置。
硬件适配

四.测试运行

右键单击项目名,点击重新生成,即可在darknet\build\darknet\x64目录下找到darknet.exe文件。
下载权值文件,放到该目录下。
右键单击资源管理器空白处,点击在此处打开PowerShell窗口,输入如下命令:

.\darknet.exe detector test data\coco.data yolov3.cfg yolov3.weights .\data\dog.jpg

回车运行,如果能看到如下结果,说明配置成功!
YOLO运行结果
第一次写这种教程类的文章,如有疏漏请多多谅解并指正,谢谢!
另外,如果大家在安装过程中遇到任何本文未涉及到的问题,欢迎留言!

参考资料

Win7上yolov3的配置及使用教程
错误 MSB4019 未找到导入的项目“C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\BuildCustomizations\CU…
YOLOv3配置(windows10+opencv3.20+cuda9.1+cudnnv7+VS2015)
win10下配置GPU加速的Keras框架

发布了22 篇原创文章 · 获赞 0 · 访问量 1291

猜你喜欢

转载自blog.csdn.net/qq_35238352/article/details/101349997