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.youkuaiyun.com/qq_36756866/article/details/109111065
https://blog.youkuaiyun.com/IT_charge/article/details/119208680