【yolov5】train.py文件的参数详解

目录

(1)weights参数(指定网络模型)

(2)cfg参数

(3)data参数(指定数据集)

(4)hyp参数(超参数)

(5)epochs、batch-size、img-size参数

(6)rect参数

(7)resume参数

(8)nosave、notest参数

(9)noautoanchor参数

(10)evolve、cache-images、images-weights、device、multi-scale参数

(11)single-cls、adam参数

(12)workers、project参数

(13)name参数和exist-ok参数

(14)linear-lr参数和label-smoothing参数

(1)weights参数(指定网络模型)

下图yolov5s.pt是作者训练好的模型

如果有自己的模型,把保存路径放到红框位置即可使用自己的模型

如果想从头开始训练,default参数可以设置为空,不给他任何的初始化,采用程序对这个参数的权重进行初始化

(2)cfg参数

关于模型的一些配置,存放在model文件夹中

下图表示,模型训练采用yolov5s结构

default中可以填入以下4种

(3)data参数(指定数据集)

下图指定的coco128数据集

可以复制download的链接到迅雷进行数据集的下载

default中可以填入以下几种数据集

(4)hyp参数(超参数)

有两个超参数文件

第一个是对voc数据集进行微调

第二个是对coco数据集进行操作,scratch表示从头开始训练

(5)epochs、batch-size、img-size参数

epochs表示训练轮数

batch-size表示一次抓取多少个数据,打包放入网络当中

img-size参数设置训练集和测试集的尺寸大小

(6)rect参数

设置矩阵的训练方式

最小填充,减少不必要的冗余,加速模型训练速度

(7)resume参数

是否从当前最近的一个模型基础上进行训练

如果不的话,指定false即可

如果要的话,需要指定在哪一个模型基础上进行训练

这里指定之前训练过的一个模型文件

不仅要读取这个模型文件,还要读取他的相关配置

上一次的训练结果

运行train.py代码,显示从last.pt开始训练

这一次不从0开始,而是接着后面训练,从2开始训练

结果更新

(8)nosave、notest参数

只保存最后一个epoch训练的模型,保存pt文件和一些权重数据

是否只在最后一个epoch进行测试(按理说在每个epoch都进行测试)

(9)noautoanchor参数

是否采用锚点

(10)evolve、cache-images、images-weights、device、multi-scale参数

对超参数净化,action默认未开启,需要指定才能开启

是否对图片缓存,进行更好的训练

上一轮中测试图片效果不太好,下一轮训练过程中,会对这些图片加一些相关的权重(效果不一定有保证)

不用指定,可以在训练时自行检测cpu or gpu

对尺度进行变换

(11)single-cls、adam参数

训练的数据集是单类别还是多类别

优化器,设置为true就会选这个,false的话就会有随机梯度下降

带有DDP的参数都不用看

(12)workers、project参数

workers表示进程数,project表示运行结果的存放位置

一个库,不用管(带W&B的都不用看)

(13)name参数和exist-ok参数

如果设置了exist-ok参数的话,运行结果文件会保存在exp文件夹下

如果未设置exist-ok参数的话,则新建一个文件夹(比如exp1、exp2...)存放运行结果

(14)linear-lr参数和label-smoothing参数

对学习速率进行调整

标签平滑,防止过拟合的产生

这几个都和W&B有关,不用管

这个参数没用,作者还没实现

  • 17
    点赞
  • 76
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
train.pyYOLOv5 中用于训练模型的脚本文件,下面是 train.py 中常用的参数及其详解: - `--img-size`:指定训练时输入模型的图片尺寸,格式为 `<width>x<height>`,例如 `--img-size 640x480`。 - `--batch-size`:指定训练时的批次大小,即每次迭代训练的样本数量。 - `--epochs`:指定训练的总轮数。 - `--data`:指定数据集的配置文件路径,包含数据集的路径、类别数等信息。 - `--cfg`:指定模型的配置文件路径,包含模型结构的定义和参数设置。 - `--weights`:指定模型的初始权重文件路径,可以使用预训练模型或者之前训练好的模型作为初始权重。 - `--hyp`:指定超参数文件的路径,可以用于调整学习率、正则化等超参数。 - `--name`:指定训练过程中保存模型和日志文件的名称前缀。 - `--cache-images`:指定是否缓存图片,默认为 False。如果设为 True,则会在内存中缓存所有图片,加快训练速度。 - `--device`:指定使用的设备,可以是 'cpu' 或者 'cuda'。 - `--multi-scale`:指定是否使用多尺度训练,默认为 False。如果设为 True,则会随机选择一个尺度进行训练,增加模型的鲁棒性。 - `--task`:指定训练的任务类型,可以是 'train', 'val', 'test', 'study' 中的一个。'train' 表示正常训练,'val' 表示在验证集上评估模型,'test' 表示在测试集上评估模型,'study' 表示进行模型结构和超参数的研究。 这些是 train.py 常用的参数,你可以根据具体需求来使用和调整这些参数
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值