编译并测试YOLO v4:Win10 + VS2019 + Cuda10.1

编译环境

  1. Visual Studio 2019
  2. Nvida device driver 430.64
  3. Cuda 10.1
  4. Cudnn 7.6
  5. Cmake 3.15
  6. Opencv4.1.0

step one:源码下载

首先克隆darknet的源码
git clone https://github.com/AlexeyAB/darknet.git

step two:cmake编译

1.打开cmake-gui,界面如下
编译并测试YOLO v4:Win10 + VS2019 + Cuda10.1_第1张图片
设置环境为Visual Studio 16 2019,目标平台为x64,点击finish

2.第一次configure后,界面出现潮红色,下面说明如何设置,github上面也有给出参考配置

请主要按照我的说明来配置,github上面太过于简略
下面每幅图对应每个group

group one
在这里插入图片描述

关于为什么要enable opencv(官网解释)
(由于需要做数据增强 Mosaic augmentation和提高数据增强速度)
在这里插入图片描述

group two(只列出需要注意的部分)
编译并测试YOLO v4:Win10 + VS2019 + Cuda10.1_第2张图片
group three
编译并测试YOLO v4:Win10 + VS2019 + Cuda10.1_第3张图片

编译并测试YOLO v4:Win10 + VS2019 + Cuda10.1_第4张图片

group 4
在这里插入图片描述

group 5
在这里插入图片描述
group6
在这里插入图片描述
其余按照默认的,第一次改好后再次点击configure
编译并测试YOLO v4:Win10 + VS2019 + Cuda10.1_第5张图片
3.然后点击generate,顺利生成了vs2019的sln文件
编译并测试YOLO v4:Win10 + VS2019 + Cuda10.1_第6张图片

step three:编译Darknet

1.用vs2019打开Darknet.sln,并点击批生成
编译并测试YOLO v4:Win10 + VS2019 + Cuda10.1_第7张图片
2.第一次编译就出错了
在这里插入图片描述

3.这里提示错误代码为 C1041,无法打开vc142.pdb
错误原因显然是由于开了并行编译造成的,因此解决方式如下

编译并测试YOLO v4:Win10 + VS2019 + Cuda10.1_第8张图片
只允许它一个个编译

4.重新清理项目后编译
编译并测试YOLO v4:Win10 + VS2019 + Cuda10.1_第9张图片

5.然后进行install
编译并测试YOLO v4:Win10 + VS2019 + Cuda10.1_第10张图片
6.查看
编译并测试YOLO v4:Win10 + VS2019 + Cuda10.1_第11张图片
7.记得加上opencv的dll和pthread的dll加到darknet.exe/dark.dll同级目录
编译并测试YOLO v4:Win10 + VS2019 + Cuda10.1_第12张图片

接下来就对编译好的进行测试确保编译完全正确

step four:测试1:train with coco

参见官方链接
https://github.com/AlexeyAB/darknet/wiki/Train-Detector-on-MS-COCO-(trainvalno5k-2014)-dataset

这里需要下载主干网络darknet53的一个预训练模型
csdarknet53-omega.conv.105

https://drive.google.com/open?id=18jCwaL4SJ-jOvXrZNGHJ5yz44g9zi8Hm
谷歌网盘上面的,so,科学上网吧

先利用darknet将上述预训练出的骨干网络前105层参数存为
csdarknet53-omega.conv.105(参见官方代码)
编译并测试YOLO v4:Win10 + VS2019 + Cuda10.1_第13张图片
然后加载预训练模型,加载coco数据集训练
这里是训练过程
编译并测试YOLO v4:Win10 + VS2019 + Cuda10.1_第14张图片
同时和前面3版本yolo一样弹出相应的loss曲线可视化
编译并测试YOLO v4:Win10 + VS2019 + Cuda10.1_第15张图片

step five: 测试2:test with img&video

同样参考https://github.com/AlexeyAB/darknet/wiki/Train-Detector-on-MS-COCO-(trainvalno5k-2014)-dataset

这里既可以用step four自己训练出的模型,也可以直接先用作者发布的预训练模型跑下试试,我选用的是作者发布的训练模型,在谷歌云盘,so,科学上网吧
https://drive.google.com/open?id=1cewMfusmPjYWbrnuJRuKhPMwRe_b9PaT

1.测试1:图片
输入指令后运行就预测出来了,结果图如下,confidence还是非常高

2.测试2:视频
同样按照官网输入命令
测试一个1分种左右mp4

下图为控制台输出截图
编译并测试YOLO v4:Win10 + VS2019 + Cuda10.1_第16张图片
下图为实时输出的可视化demo

结论

这只是一个简单的安装和测试过程,后续接着深入庖丁解牛:
(1)着重结合论文分析其算法以及对应源码
(2)移植到其它框架并加速

你可能感兴趣的:(#,【3.9】深度学习用于物体检测,深度学习,机器学习,神经网络,算法)