2020-09-25 darknet-YOLOv3 Windows10安装编译过程详解(可用)

又是一个深夜,又是CUDA和darknet,2020年9月25日 01:05:27,全新的完整的严谨的从零开始win平台编译darknet并且运行的实例记录

目标

在windows10上编译darknet,并且使用yolov3跑通测试实例(吐槽:windows平台安装是真的恶心)

环境

Windows10

GTX1060

准备安装CUDA10.0+cuDNN7.4.1

开始之前说清楚的事

  • 快速成功的秘诀:严格照抄我的过程,不要作死
  • 各步骤请严格按照顺序进行,不然不保证各种奇怪Bug的产生哦~
  • 不要用各种最新版本

Step 1 安装显卡驱动

GTX1060请安装驱动版本411以上

右键打开Nvidia控制面板确认如下:

image-20200925005954500

AMD显卡可以关闭博客了

Step 2 安装VS2019

首先,使用VS Studio Installer安装本体,请注意:不要/禁止/请勿 修改所有默认安装路径和软件包路径

在选择各种组件的时候,请严格按照下图,选择如下配置:

image-20200925010056530

image-20200925010217332

等待安装完成,重启vs2019即可

Step 3 安装CUDA 10.0

请注意我的版本,CUDA 10.0

下载地址:

https://developer.nvidia.com/cuda-toolkit-archive

寻找到这个,请严格按照这个版本下载

img

img

好快,下载完成了,开始安装

请不要随意改动路径

请严格按照我的选项选择,不要多选和少选

img

img

img

注意:绝对不要勾选Visual Studio Integration这一项

必须等待安装完成后,再进行下一步安装cuDNN

Step 4 安装cuDNN

首先必须注册成为英伟达的成员,打开下面网站

https://developer.nvidia.com/rdp/cudnn-download

假设你已经注册完成了,选择agree之后就下载这个版本:v7.4.1 for 10.0

img

请严格按照这个版本下载

解压后,内容如下:

image-20200925011817003

打开每个文件夹会发现里面就一个文件cudnn.*

请把这三个文件夹里面的文件,分别放到如下目录的对应文件夹中:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0

例如:

image-20200925012040902

Step 5 设置环境变量

请配置系统环境变量如下,直接照抄:

image-20200925012140390

配置完成后,打开cmd输入:nvcc -V 检查cuda是否正确安装

image-20200925012245854

光这样检查是不够的,请进入如下目录:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\demo_suite

在cmd运行如下两个监测程序:

image-20200925012440231

均得到结果PASS,说明环境无误

image-20200925012518185 image-20200925012536489

Step 6 安装OpenCV3.4.11

请在官网下载windows版本的opencv3.4.11版本

https://opencv.org/opencv-3-4/

该程序为exe运行文件,运行后解压出opencv文件夹,将文件夹移动到C盘根目录下即可:

image-20200925012850701

Step 7 设置环境变量

请配置系统环境变量,直接照抄如下:

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\libnvvp
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\extras\CUPTI\libx64
C:\opencv\build\x64\vc15\bin

连续点击确定

Step 8 下载Yolov3相关资源

yolov3克隆项目下载:

https://github.com/AlexeyAB/darknet

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

下载到本地后,将darknet-master重命名为darknet

下载yolov3预训练权重文件 yolov3.weights备用

https://pjreddie.com/media/files/yolov3.weights

Step 9 重要一步

将CUDA安装程序

cuda_10.0.130_411.31_win10.exe使用winrar用压缩文件的格式打开

image-20200925013352302

请找到以下目录:

CUDAVisualStudioIntegration\extras\visual_studio_integration\MSBuildExtensions

image-20200925013506023

将这四个文件复制到以下位置:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v150\BuildCustomizations

image-20200925013618089

这里,给装好的VS2017编译器,加入了这四个依赖项,否则编译失败

接下来,将C:/opencv/build/x64/vc15/bin目录下的opencv_ffmpeg3411_64.dll、opencv_world3411.dll复制到D:\darknet\build\darknet\x64目录下

image-20200925014234769

注意,版本不同,命名可能有差别,请区分

Step 10 准备编译yolov3

进入darknet/build/darknet目录:

image-20200925013751264

我这里已经编译过一次了,所以可能会有点不同

使用VS2019打开darknet.sln工程,首次打开可能会出现错误(版本2015不兼容类似的错误),但是没关系,确定后,关闭VS2019,重新用VS2019打开darknet.sln即可

然后按照下面的说明进行配置:

image-20200925013917769

image-20200925013944855

选择windows SDK 10.0以上,选择平台工具集2017版本

image-20200925014109434

点击“VC++ 目录”,编辑“包含目录”,将以下路径加入到包含目录中:

C:\opencv\build\include\opencv2
C:\opencv\build\include\opencv
C:\opencv\build\include

image-20200925014545441

image-20200925014608346

然后点击"库目录",把以下内容添加到库目录中:

C:\opencv\build\x64\vc14\lib

image-20200925014648832

然后点击"链接器->输入",在"附加依赖项"中添加:

C:\opencv\build\x64\vc14\lib\opencv_world3411.lib

image-20200925014722611

image-20200925014752161

全部确定保存之后,退出sln,使用编辑器工具打开darknet.vcxproj文件:

image-20200925014852440

使用编辑器替换如下字符串:

CUDA 10.1 -> CUDA 10.0

一共需要替换两处,请按照截图确定:

image-20200925014958856

image-20200925015009001

可以看到,如果没有按照第9步将4个文件复制进去,编译时就会找不到相应文件

Step 11 编译

保存darknet.vcxproj之后,重新打开sln方案,右键项目名称darknet,选择生成

等待编译成功即可,时间很快

image-20200925015219511

如果正确无误,只会产生很多警告,0错误

image-20200925015339770

Step 12 测试darknet

编译生成后的darknet位于build/x64目录下:

请将下载好的权重文件yolov3.weights放入这个文件夹下

在这个目录下,执行以下内容验证是否编译成功:

darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

image-20200925015612400

image-20200925015521845

恭喜,编译安装完成!
2020年9月25日 01:57:18

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值