距离YOLOv6发布已经有一周的时间了,中途修复了好多bug,一起来看看吧

官网网址:

YOLO v6
https://github.com/meituan/YOLOv6

train.py参数分析
打开文件tools->train.py

 

1、介绍

没啥用,担心我们不知道这是YOLOv6的train文件....

2、--data-path

存放数据集路径的yaml,作者提供了一个coco和一个yolo格式训练的yaml

 

vb6 调用 python vb6 调用yolo_配置文件

注意:v6不需要使用images文件夹,将以前images中的train和val文件夹图片与labels文件放在同一个目录就可以了,不然容易找不到数据集,这个bug官方还未更新,更新了请提醒我(7月1日)

正确的YOLO格式yaml文件:

将数据集A放在根目录:

vb6 调用 python vb6 调用yolo_官网_02

vb6 调用 python vb6 调用yolo_官网_03

还有一点,yolo v6目前使用单类别数据集训练时,会出现一系列的报错,尽量使用多类别,这个bug官方目前还没修复,虽然他们说支持单类别...

3、--conf-file

用于指定模型配置文件,根据自己的需求进行配置;v6的配置文件中使调参又方便了一些

 

vb6 调用 python vb6 调用yolo_官网_04

 

 

vb6 调用 python vb6 调用yolo_配置文件_05

4.--img-size

vb6 调用 python vb6 调用yolo_vb6 调用 python_06

 

 

训练时图片的大小,默认是640*640,根据自己需求进行调整

5.--batch-size

vb6 调用 python vb6 调用yolo_配置文件_07

这个根据自己电脑显存进行调节,尽量越大越好

6、--epochs

vb6 调用 python vb6 调用yolo_官网_08

训练的次数,并不是越大越好,300左右基本就可以了

7、--workers

vb6 调用 python vb6 调用yolo_官网_09

默认8就好,如果自己电脑硬件不支持就填0,越接近0,训练的时候就会越占用CPU

8、--device

vb6 调用 python vb6 调用yolo_数据集_10

 

 

显卡的使用,默认就是使用第一张卡

9、--eval-interval

vb6 调用 python vb6 调用yolo_vb6 调用 python_11

 

 

更新间隔评估;这个参数是真的坑,默认每20次更新一次,导致很多人的map都是0,还以为是程序的问题,坑了一大片人,官网论坛都在问,官方也没说是这里的情况

 

vb6 调用 python vb6 调用yolo_官网_12

10、--eval-final-only

vb6 调用 python vb6 调用yolo_vb6 调用 python_13

 

 

在最后一个批次进行评估;默认是true,不需要进行改动

11、--heavy-eval-range

vb6 调用 python vb6 调用yolo_数据集_14

 

在最后50个epochs时进行持续更新,可以和--eval-interval 一起使用

12、--check-images

vb6 调用 python vb6 调用yolo_vb6 调用 python_15

 

 

训练前检查图像数据集,默认true

13、--check-labels

vb6 调用 python vb6 调用yolo_数据集_16

 

 

训练前检查标签数据集,默认true

14、--output-dir

vb6 调用 python vb6 调用yolo_数据集_17

 

 

训练时输出的路径

 

vb6 调用 python vb6 调用yolo_配置文件_18

15、--name

vb6 调用 python vb6 调用yolo_配置文件_19

 

 

训练数据保存到的文件名称

 

vb6 调用 python vb6 调用yolo_数据集_20

16、--dist_url

vb6 调用 python vb6 调用yolo_数据集_21

 

 

默认的网址;不需要修改

17、--gpu_count

vb6 调用 python vb6 调用yolo_vb6 调用 python_22

 

 

GPU数量类型;默认整型

18、--local_rank

vb6 调用 python vb6 调用yolo_vb6 调用 python_23

 

 

单机多卡训练;基本用不到

19、--resume

vb6 调用 python vb6 调用yolo_vb6 调用 python_24

 

 

断点训练,是否在之前训练的一个模型基础上继续训练;需要接着之前训练就改为true

总结:
目前YOLOv6的程序还不够完善,训练时会遇到各种问题,我做了个总结,希望能帮助到你们