train.py 运行参数共计34个,以及额外4个日志输出控制参数。仅解释各参数的作用,具体参数的类型、默认值、输入后的运作模式在其他部分介绍。
参数 |
含义 |
深入解释 |
weights |
模型的权重 |
.pt文件,存储了模型的所有参数 |
cfg |
config,模型配置文件 |
.yaml文件,存储模型各层的形状和类别 |
data |
数据文件 |
.yaml文件,存储训练、验证、测试集地址或索引 |
hyp |
hyperparameter,超参数文件 |
.yaml文件,存储超参数 |
eopchs |
时代,训练轮数 |
训练的轮数,整个数据集将被迭代的次数,一轮即train.py文件在所有训练集上完成一次遍历 |
batch-size |
批大小,批量规模 |
为提升效率进行批处理,单次训练会将多个图片以某种方式组合到一起,再输入到模型进行训练,组合的图片数量即批大小 |
imgsz |
输入模型的图片统一大小 |
一组训练集的图片可能有不同尺寸,而模型的输入接收端口是固定的。因此正式训练前,图片需要先处理成统一的大小,一般处理成正方形,边长为imgsz |
rect |
rectangle矩形 |
进行矩形训练???? |
resume |
中断后继续 |
恢复最近保存的模型并开始训练 |
nosave |
不保存结果 |
仅会保存最终的checkpoint |
noval |
不验证 |
正常每轮训练结束后都会验证,设为true则只进行最后一次验证 |
noautoanchor |
不自动确定锚框 |
取消计算label锚框的聚类中心。模型需要label矩形长宽比的聚类结果,这种聚类后的锚框能够加速模型收敛。设为false则不会计算,可能会降低模型收敛速度。如果已经提前计算好锚框聚类中心,可写入到模型配置.yaml文件中,不需要自动计算功能。 |
noplots |
不做图 |
模型会输出一些图片比如loss随epoch的变化(即收敛情况),设为false则不输出图片。 |
evolve |
进化,超参更新代数 |
更新多少代超参数。怎么更新,超参不是存在yaml文件中吗? |
bucket |
桶,云的容器,是否上传到云 |
Gustil bucket。gustil是一个谷歌云提供的python包,功能是实现数据云上传存储处理等操作;bucket指数据的容器,或理解成cloud上的一个文件夹。 |
cache |
缓存,选择缓存硬件 |
可以选择在ram或者在disk上进行缓存,默认直接在ram |
是否采用图像权重进行选择训练 |
设为True时,计算图像采集的权重,若图像权重越大,那么该图像被采样的概率也越大 |
|
device |
运行代码的硬件 |
可以指定cpu或者在某一编号的gpu上运行代码,gpu跑得快 |
multi-scale |
是否多尺度训练图片 |
设为True时,将图片放缩成多个尺寸,能够得到不同尺度的特征信息,但速度慢。 |
single-cls |
single class,单类别训练 |
设为True时,把多类别标签都视为同一种标签进行训练。 |
optimizer |
优化器 |
默认SGD,有3种可选择'SGD', 'Adam', 'AdamW' |
sync-bn |
synchronized batch normalization,同步批处理 |
使用多GPU进行分布式训练时,不同GPU的训练batch需要同步。设为True则开启。 |
workers |
进程数量 |
最大的数据加载器的进程数量(在DDP模式下每个RANK) |
project |
运行项目 |
运行结果保存到的文件夹总地址,如runs/train/或runs/detect |
name |
名称 |
即每次运行结果所保存到的文件夹名称,如设置为exp,不同次项目运行结果将保存到runs/train/exp1或exp2…,后缀会增加 |
exist-ok |
存在正常 |
现有项目正常,不用对exp的数字后缀递增。即设为True,项目运行结果将保存到现有文件夹中,而不是新建一个exp文件夹。 |
quad |
是否使用四元数据加载器 |
一个实验性功能参数,允许小尺寸图片训练时获得高尺寸训练的优势 |
cos-lr |
cosine learning rate scheduler,余弦学习率调度器 |
设为True时开启余弦学习率调度器 |
label-smoothing |
标签平滑 |
计算的loss有所变化,作用是防止过拟合,但数值过大会导致欠拟合 |
patience |
耐心值 |
训练提前停止的阈值轮数,如果经过patience轮训练,效果一直没有提升,就提前停止训练 |
freeze |
冻结 |
冻结网络的指定层,冻结的层的权重在训练过程中不会改变 |
save-period |
保存周期 |
每一定轮数保存一次checkpoint |
seed |
随机种子 |
固定训练的随机性 |
local_rank |
本地进程号 |
多GPU模型自动修改,不用手动修改。 |
logger日志参数4个,不影响模型的运行效果。
参数 |
含义 |
深入解释 |
entity |
实体 |
|
upload_dataset |
上传数据集 |
|
bbox_interval |
定界框间隔 |
|
artifact_alias |
工件别名 |
参考文章
https://blog.csdn.net/qq_36756866/article/details/109111065
https://blog.csdn.net/IT_charge/article/details/119208680