windows环境下训练YOLOv4

1、配置环境

1 CUDA cuDNN
2 微软的Visual Studio
3 opencv
环境的配置请自行搜索

2、darknet.exe的生成

  1. 先检查darknet/build文件夹中darknet.vcxproj里的CUDA版本是否和你安装的CUDA版本一致,若不一致,修改darknet.vcxproj里的版本号,修改的位置有两处!
  2. 用Visual Studio打开darknet/build文件夹中的darknet.sln;
    然后将Visual Studio设置为release x64的状态,然后点击“生成”菜单中的“生成解决方案”。
    这时你就会看到x64文件夹下生成了darknet.exe文件。

3、测试YOLOv4

  1. 下载YOLOv4.weights
  2. YOLOV4代码中给的下载地址在外网里,下载极慢。不过,我已经下载好,可以在我百度云中下载,请自行索取。
    链接:https://pan.baidu.com/s/1bKk6tYXOgIKxJhkXWMk1bA
    提取码:e9ui
  3. cmd方式进入x64文件夹中,运行darknet.exe detector test cfg/coco.data yolov4.cfg yolov4.weights data/dog.jpg
  4. 这是检测一张狗的图片,当然,你可以检测其它的图片。
    若检测成功,那就可以训练了!

4、训练

这里以我私有数据集为例进行讲解,我的数据集只有一个类,数据集为VOC类型。
训练指令:darknet.exe detector train data/voc.data cfg/yolov4.cfg yolov4.conv.137
训练指令很简单,但是有许多地方要先修改下!
修改地方1:
darknet/build/darknet/x64/data中的voc.data修改为:

classes= 1
train  = data/2012_train.txt
valid  = data/2012_test.txt
names = data/voc.names
backup = backup/

其中2012_train.txt和2012_test.txt用darknet/build/darknet/x64/data/voc里的voc_label.py来生成,使用方法自行检索
修改地方2:
1. 打开darknet/build/darknet/x64/cfg文件夹中的yolov4.cfg配置文件;
2. 搜索yolo,一共三个yolo。
3. 然后,将classes改为1,[yolo]上面的filters改为18, 若你有n个类,那filters改为(n+5)*3的值。别慌,就是紧挨着[yolo],且在[[yolo]上面的那个filters。
下载yolov4.conv.137
yolov4.conv.137是权重文件,还在我上面给出的百度云里下载比较快。

最后执行训练指令即可:darknet.exe detector train data/voc.data cfg/yolov4.cfg yolov4.conv.137

5、测试

训练生成的模型会保存在darknet/build/darknet/x64/backup中。
以cmd方式进入x64文件中,然后执行darknet.exe detector test cfg/voc.data yolov4.cfg backup/yolov4----xxx.weights data/dog.jpg即可
ok,这时你就可以看到yolov4对dog.jpg的检测效果啦!如果不行,在好好想想那里的问题!解决不了的话,就在评论区提问吧。

你可能感兴趣的:(深度学习)