YOLOv5内置--hyp超参配置文件对比

1、YOLOv5超参数配置介绍

YOLOv5 有大约 30 个超参数用于各种训练设置。这些是在目录中*.yaml的文件中定义的/data。更好的初始猜测会产生更好的最终结果,因此在演化之前正确初始化这些值很重要。

 lr0 : 0.01   #初始学习率 (SGD=1E-2, Adam=1E-3) 
 lrf : 0.01   #最终的 OneCycleLR 学习率 (lr0 * lrf) 
 momentum: 0.937   # SGD 动量/Adam beta1 
 weight_decay : 0.0005   #优化器权重衰减 5e-4 
 warmup_epochs : 3.0   # warmup epochs (fractions ok) 
 warmup_momentum : 0.8   #预热初始动量 
 warmup_bias_lr : 0.1   #预热初始偏差 lr 
 box : 0.05   # box loss gain 
 cls : 0.5   # cls 损失增益 
 cls_pw : 1.0   # cls BCELoss positive_weight 
 obj : 1.0   # obj loss gain(按像素缩放) 
 obj_pw : 1.0   # obj BCELoss positive_weight 
 iou_t : 0.20   # IoU训练阈值 
 anchor_t : 4.0   #锚倍阈值 
 #anchors:3 # 每个输出层的锚点(0 忽略) 
 fl_gamma : 0.0   #focal loss gamma (efficientDet default gamma=1.5) 
 hsv_h : 0.015   #图像 HSV-Hue 增强(分数) 
 hsv_s : 0.7   #图像 HSV-Saturation 增强(分数) 
 hsv_v : 0.4   #图像 HSV 值增强(分数) 
 degree : 0.0   #图像旋转 (+/- deg) 
 translate : 0.1   #图像翻译(+/- 分数) 
 scale : 0.5   #图像比例(+/- 增益) 
 shear:0.0   #图像剪切(+/- 度) 
 perspective : 0.0   #图像透视(+/- 分数),范围 0-0.001 
 flipud : 0.0   #图像上下翻转(概率) 
 fliplr : 0.5   #图像左右翻转(概率) 
 mosaic: 1.0   #图像马赛克(概率) 
 mixup : 0.0   #图像混合(概率) 
 copy_paste : 0.0   #段复制粘贴(概率) 

2.YOLOv5内置超参配置文件介绍

1. yolov5/data/hyps/hyp.scratch-low.yaml(YOLOv5 COCO训练从头优化,数据增强低)
2. yolov5/data/hyps/hyp.scratch-mdeia.yaml(数据增强中)
3. yolov5/data/hyps/hyp.scratch-high.yaml(数据增强高)

3. 结果对比

此结果是在 weights:yolov5n6.pt,epochs:100,训练集验证集及测试集相同的情况下测得(结果仅供参考)

YOLOv5默认配置
YOLOv5默认配置
hyp.scratch-low.yaml
hyp.scratch-low.yaml

hyp.scratch-med.yaml
hyp.scratch-med
hyp.scratch-high.yaml
hyp.scratch-high.yaml

hyp.finetune_objects365.yaml
hyp.finetune_objects365.yaml

  • 11
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
对于YOLOv5超参数(hyperparameters)调优,可以尝试以下几个方面: 1. Learning rate(学习率):学习率是训练过程中最重要的超参数之一。过高的学习率可能导致训练不稳定,而过低的学习率可能使得模型收敛缓慢。可以尝试不同的学习率,并观察模型在验证集上的表现来选择最佳的学习率。 2. Batch size(批大小):批大小是指每个训练步骤中输入的样本数量。较大的批大小可能会加快训练速度,但也会增加内存使用量。较小的批大小可能会提高模型的泛化能力。可以尝试不同的批大小,并根据模型在验证集上的性能选择最佳的批大小。 3. 数据增强(Data augmentation):数据增强是指对训练数据进行随机变换,以增加数据多样性。常用的数据增强方法包括随机裁剪、旋转、缩放、翻转等。可以尝试不同的数据增强方法,并观察模型在验证集上的表现。 4. Anchor boxes(先验框):YOLOv5使用先验框来预测目标的位置和尺寸。可以通过K-means聚类算法来自动确定先验框的数量和大小。调整先验框的数量和大小可能会影响模型的检测性能。 5. 加权分支(Weighted branches):YOLOv5引入了加权分支的概念,用于提高小目标的检测性能。可以尝试调整加权分支的权重,以达到更好的检测效果。 6. 损失函数权重(Loss function weights):YOLOv5使用多个损失函数来优化模型。可以尝试调整不同损失函数的权重,以平衡不同损失项对模型训练的影响。 在调参过程中,建议使用验证集来评估不同超参数配置的性能,并选择表现最佳的配置作为最终模型。此外,还可以使用交叉验证等技术来进一步提高模型的稳定性和泛化能力。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值