Yolov3源码darknet编译与训练(一)(Win10 + CUDA9.0 + VS2017)

在完成上一篇博客中CUDA9.0的安装之后,这一篇开始编译Yolov3源码darknet,参照darknet官方教程:https://github.com/AlexeyAB/darknet#how-to-compile-on-windows

1. 依赖项安装

darknet编译的依赖项有:Visual Stuido, CUDA, cudnn, Opencv。darkent官网教程的版本是MSVS 2015, CUDA 10.0, cuDNN 7.4 and OpenCV 3.4.0。我使用的版本是MSVS 2017, CUDA 9.0, cuDNN 7.4 and OpenCV 3.4.0,前3个依赖项的下载安装上一篇博客已经给出(注意安装VS2017时一定要选择“适用于桌面的VC++20.15.3 v14.00(v140)工具集 ”),还剩下Opencv3.4.0需要安装,其实解压就行,将下载的opencv-3.4.0-vc14_vc15.exe双击进行解压过程。

添加系统环境变量:根据darknet官网教程,需要将Opencv与cudnn的路径添加到环境变量,这是为了在编译Yolov3时读取Opencv与cudnn中的依赖.dll文件,如果不添加环境变量,我们后续将所依赖的.dll文件手动拷贝到编译目录下也行。

添加系统环境变量:

2. 编译darknet

在安装好VS2017, CUDA9.0, Opencv3.4.0之后,便可以开始编译darknet:

(1). 下载源码:

git clone https://github.com/AlexeyAB/darknet.git

或者直接下载然后解压,我解压后项目的路径为D:\darknet-master

(2). 修改.vcxproj文件:

由于我们使用的是CUDA9.0版本,与官网所需(CUDA10.0)不同,所以需要修改.vcxproj文件中的CUDA版本。用编辑软件打开D:\darknet-master\build\darknet\darknet.vcxproj,搜索"CUDA 10.0",修改为"CUDA 9.0"(只有2处,位于第55行与第294行):

(3). 拷贝依赖的.dll文件:

拷贝项目所依赖的opencv与cuda的.dll文件到项目输出路径(D:\darknet-master\build\darknet\x64)下:

C:\Program Files\opencv3.4.0\build\x64\vc14\bin\opencv_ffmpeg340_64.dll
C:\Program Files\opencv3.4.0\build\x64\vc14\bin\opencv_world340.dll
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.0\bin\cudnn64_7.dll(该文件是从cudnn中拷贝而来)

(4). 修改项目属性:

双击D:\darknet-master\build\darknet\darknet.sln文件,用VS2017打开项目,会显示“重定向项目”:

点击取消,然后修改解决方案平台为x64, 配置为Release:

打开项目属性,修改平台工具集为Visual Studio 2015 (v140):

修改opencv的目录属性:在属性页的“配置属性” --> "C/C++" --> “附加包含目录”,与 “配置属性” -->“链接器” --> “附加库目录”中,将Opencv的目录修改为自己的路径:

修改完成后点击确认,然后右击项目名称,点击“生成”:

编译成功:

在输出路径(D:\darknet-master\build\darknet\x64)下生成了darknet.exe文件。


经过以上步骤,我们便成功地编译出了可执行文件darknet.exe,接下来我们便可以使用它来进行yolov3的目标检测任务。训练与测试过程见下一篇博客:https://blog.csdn.net/anhec/article/details/86754842

 

 

 

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值