用VS2015编译用GPU训练的Yolov3工程

前言

      最近在用yolov3进行目标检测,本人是打算用VS2015打开有GPU训练的版本,但每次打开后都显示无法加载此项目。。。内心真是崩溃,在网上查找了好几个方法都没成功,后来修改了一个文件后,终于成功了,但是后来在编译时又出现了各种奇葩bug,后来查找了很多资料,还有询问一些大佬才得以解决。虽然过程很曲折,但结果还算完美,现将整个环境搭配过程献上,供大家参考。

      最后,如果有什么不对的地方,希望大家不吝赐教,谢谢!

     1、 这是工程链接:darknet-master

     2、 关于CUDA大家也需要自行去下载好。CUDA下载地址:CUDA下载,如果想下载历史版本:CUDA历史版本,我下载的是9.0版本的。

     3、 关于cudnn7.0的下载,大家也需要去官网下载一下。百度一下就行了。将cudnn7.0压缩包解压后的文件复制到cuda9.0安装目录的对应位置。即将解压后的文件夹中的cndnn64_7.dll、cudnn.h、cudnn.lib分别复制到:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin;C:\ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include;C:\ProgramFiles\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64;

     4、 关于环境变量的配置:

     5、下面就是关于怎样正常用vs2015打开darknet.sln(划重点了)

一定要注意此文件需要修改两处,还有一处在倒数第三行(这个地方,刚开始没注意到前面还需要修改,而导致错误)

修改后,记得保存,在直接用vs2015就可以打开darknet.sln了 

6.现在就开始配置整个环境了(记住这里所有的路径都需要根据自己的路径来添加,只需要看清楚添加的文件就行)

(1)配置opencv的环境

这个可以看我之前写的一篇博客:VS2015+opencv3.4.2配置环境

(2)配置第三方包pthreadVC2

至于具体步骤就不在这里详细重复一遍了,只说明一下哪些文件需要放在哪个位置

包含目录:F:\VS\darknet-master\3rdparty\include

库目录:F:\VS\darknet-master\3rdparty\lib\x64

链接器->输入:pthreadVC2.lib

(3)cuda9.0配置

包含目录:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\include

库目录:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\lib\x64

链接器->输入:cublas.lib;curand.lib;cudart.lib;cudnn.lib

(4)预处理器定义

添加:OPENCV;CUDNN;_TIMESPEC_DEFINED;_CRT_SECURE_NO_WARNINGS;_CRT_RAND_S;WIN32;NDEBUG;_CONSOLE;_LIB; 

(5)需要添加cuda的安装路径,我的是:C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0

 (6)cuda的版本不是10.0的需要看过来了,把compute_75,sm_75删掉(这里很重要,刚开始就是因为这里没注意,而报一大堆莫名其妙的错误)

(7)把工程中所有后缀为.cu的文件,右键打开属性,在Interleave source in PTX选择否

 (8)现在就大功告成了,可以编译了。

猜你喜欢

转载自blog.csdn.net/qq_36417014/article/details/88551805