YOLOV4学习系列(二) 训练YOLOV4算法模型

前言

YOLOV4模型训练流程和V3基本类似,不过仍然有一些需要注意的地方,否则很容易遇到各种问题。 

训练

1)去AlexeyAB github上获取源代码

YOLOV4学习系列(二) 训练YOLOV4算法模型_第1张图片

2)代码编译,这个和yolo3编译差不多的。

3)重点讲一下yolov4.cfg

在cfg子目录下有yolov4.cfg和yolov4-custom.cfg。AlexeyAB建议基于yolov4-custom.cfg来对自己数据集进行模型训练。需要修改的地方:

a)batch=64 subdivisions=16的修改:  YOLOV4训练相对V3更耗显存,所以这两个值要根据显存使用情况进行相应调整。

b)max_batches=xxx: 作者建议这个值设成 classes_num * 2000,比如说数据集一共有3个类型,那么max_batches=6000。不过我个人建议可以根据测试情况来适当加大些。

c)steps=xxx,xxx: 作者建议这两个值分别设成max_batches的80%和90%.

d)network size的width和height值 要分别设成 32的倍数。经典的有416x416  608x608等。

e)YOLOV4仍然有3个yolo层。每个yolo层里面的classes值要和我们自己数据集类型数目相对应。

f)将每个yolo层前面的conv层里面filters值改成(classes + 5)x3

4)数据集准备和V3一样的,主要是注意预训练模型需要换成下面这个:

yolov4.conv.137 ,其下载链接为:https://drive.google.com/open?id=1JKF-bdIklxOOVy-2Cr5qdvjgGpmGfcbp

5)最后就是训练命令,注意下参数。可以参考下面:

./darknet detector train xxx/xxx_2019_12.data /work/xxx/yolov4-custom.cfg ../xxx/yolov4.conv.137 -clear -dont_show

 

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