在YOLOv5源码的train.py
文件中,main
函数包含一个名为hyp
的字典,用于定义训练模型的各种超参数。以下是每个参数的解释:
lr0
:优化器的初始学习率。对于SGD,默认值为1e-2,对于Adam,默认值为1e-3。lrf
:OneCycleLR调度器的最终学习率。计算方式为lr0 * lrf
。momentum
:SGD优化器的动量值或Adam优化器的beta1值。它控制梯度的更新。weight_decay
:优化器的权重衰减值。通过向损失函数添加惩罚项,有助于防止过拟合。warmup_epochs
:学习率调度器开始之前的预热轮数。以总轮数的一部分表示。warmup_momentum
:预热阶段的初始动量值。warmup_bias_lr
:预热阶段的初始偏置学习率。box
:框损失的增益。它控制框损失对总损失的贡献。cls
:分类损失的增益。它控制分类损失对总损失的贡献。cls_pw
:分类损失的正权重。它有助于平衡损失计算中正负样本的贡献。obj
:目标性损失的增益。它控制目标性损失对总损失的贡献。obj_pw
:目标性损失的正权重。它有助于平衡损失计算中正负样本的贡献。iou_t
:训练中的IoU(交并比)阈值。它确定预测的边界框是被视为真正例还是假正例。anchor_t
:锚框倍数的阈值。根据其大小确定用于训练的锚框。anchors
:每个输出网格的锚框数量。值为0表示忽略锚框。fl_gamma
:Focal Loss的gamma值。它控制在训练过程中对难例的关注程度。hsv_h
:训练中应用的图像HSV-Hue增强的比例。hsv_s
:训练中应用的图像HSV-Saturation增强的比例。hsv_v
:训练中应用的图像HSV-Value增强的比例。