【YOLOv4】基于darknet的训练过程(简洁版)
阅读原文时间:2021年04月23日阅读:1

YOLOv4基于darknet的训练过程与yolov3的训练过程基本一样。

包括一些文件夹,需要修改的文件以及需要修改的参数都是一样的。

本文简单记录一下自己YOLOv4的训练过程,稍微详细版可以参考【YOLOv3】基于darknet的训练过程(简洁版)

(一)测试工作

下载yolov4.weights、yolov4.conv.137,修改makefile文件等等,进行测试。
目的就是:看看官方例程能不能跑通,能跑通,就可以继续训练自己的数据集了。

(二)准备数据集

darknet-master\build\darknet\x64文件夹下我新建了一个myData文件夹,存放我要训练的数据集。

darknet-master\build\darknet\x64\myData文件夹下运行test.py。【注意路径】
darknet-master\build\darknet\x64文件夹下新建my_labels.py,并运行。【注意路径】

【上面这张图逻辑很凌乱,没试过YOLO训练的人看起来估计是一头雾水,有问题可以私聊。】

(三)修改配置文件

darknet-master\cfg文件夹下新建my_data.data、my_yolov4.cfg文件。
darknet-master\build\darknet\x64\myData文件夹下新建myData.names文件。
【可以复制里面的文件,改成自己的文件名,然后再修改内容】

这三个文件放在哪个文件夹下都可以,但是要记住路径,不要搞混了(后面训练会用到这文件路径)。其内容修改方法与yolov3极其类似。

(四)训练前奏

  1. 检查Annotations、ImageSets、JPEGImages内容是否有错误?
  2. 检查labels文件夹里面的txt文件内容格式是否正确?
  3. 检查myData_train.txt、myData_test.txt、myData_val.txt格式是否正确?
  4. 检查my_yolov4.cfg文件需要修改的内容是否修改完成,是否修改成training模式?
  5. 检查my_data.data文件里面的路径是否正确?
  6. 检查myData.names文件里面的类别是否有拼写错误?
  7. 下载yolov4.conv.137,放在darknet-master文件夹下。
  8. 以上都检查无误,下面就可以训练了。

标红的三个文件很重要,务必检查一遍。

(五)训练进行时

在darknet-master文件夹根目录下运行:

# 指定gpu训练,默认使用gpu0(查看GPU情况,`nvidia-smi`)
./darknet detector train cfg/my_data.data cfg/my_yolov4.cfg yolov4.conv.137 -gups 0,1,2,3

【注意自己的my_data.data、my_yolov4.cfg路径以及文件名称】
【和YOLOv3训练过程一样】

后续:
看有人说,.cfg文件里面的max_batches参数一般设置成classes*2000。也就是如果训练两种类别,就设置成max_batches = 4000。
steps分别取max_batches的80%和90%。也就是steps=3200,3600。

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章