[YOLO专题-22]:YOLO V5 - ultralytics代码解析-超参数详解

Posted 文火冰糖的硅基工坊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[YOLO专题-22]:YOLO V5 - ultralytics代码解析-超参数详解相关的知识,希望对你有一定的参考价值。

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

 本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122372614


目录

前言:

第1章 超参数配置文件的基本信息

1.1 超参数配置文件的路径路径

1.2 超参数配置文件

1.3 如何指定超参数配置文件

第2章 超参数内容详解


前言:

YOLO V5除了通过用户命令行参数来控制模型的训练和模型的预测,YOLO V5的工程代码,还提供了超参数配置文件来控制对模型的训练和预测过程。

通常情况下,这些参数是不需要改变的,采用默认值即可。

第1章 超参数配置文件的基本信息

1.1 超参数配置文件的路径路径

yolov5\\data\\hyps

1.2 超参数配置文件

hyp.finetune.yaml:Hyperparameters for VOC finetuning

hyp.finetune_objects365.yaml:

hyp.scratch.yaml:Hyperparameters for COCO training from scratch

hyp.scratch-high.yaml:Hyperparameters for high-augmentation(高增强)COCO training from scratch

hyp.scratch-low.yaml: Hyperparameters for low-augmentation (低增强) COCO training from scratch

hyp.scratch-med.yaml:Hyperparameters for medium-augmentation COCO training from scratch

1.3 如何指定超参数配置文件

通过train的命令行参数--hyp选项,默认采用:hyp.scratch.yaml文件

第2章 超参数内容详解

# YOLOv5 🚀 by Ultralytics, GPL-3.0 license
# Hyperparameters for COCO training from scratch
# python train.py --batch 40 --cfg yolov5m.yaml --weights '' --data coco.yaml --img 640 --epochs 300
# See tutorials for hyperparameter evolution https://github.com/ultralytics/yolov5#tutorials

# 梯度下降法参数
lr0: 0.01  # initial learning rate (SGD=1E-2, Adam=1E-3)      # 初始的学习率
lrf: 0.1  # final OneCycleLR learning rate (lr0 * lrf)        # 余弦函数动态降低学习率
momentum: 0.937  # SGD momentum/Adam beta1                    # 梯度动量
weight_decay: 0.0005  # optimizer weight decay 5e-4           # 权重衰减度,降低权重的波动
warmup_epochs: 3.0  # warmup epochs (fractions ok)  # 预热训练的轮数,采用小的学习率
warmup_momentum: 0.8  # warmup initial momentum     # 预热训练时的梯度动量
warmup_bias_lr: 0.1  # warmup initial bias lr       # 预热训练时的偏置b的学习率

# Loss 参数
box: 0.05  # box loss gain                    # 定位框损失函数的增益比
cls: 0.5  # cls loss gain                     # 分类损失的增益比
cls_pw: 1.0  # cls BCELoss positive_weight    # 正样本的权重
obj: 1.0  # obj loss gain (scale with pixels) # 目标距离的权重
obj_pw: 1.0  # obj BCELoss positive_weight    # 负样本的权重

# 输出后处理超参数
iou_t: 0.20  # IoU training threshold
anchor_t: 4.0  # anchor-multiple threshold
# anchors: 3  # anchors per output layer (0 to ignore)
fl_gamma: 0.0  # focal loss gamma (efficientDet default gamma=1.5)

# 图像增强的参数
hsv_h: 0.015  # image HSV-Hue augmentation (fraction)
hsv_s: 0.7  # image HSV-Saturation augmentation (fraction)
hsv_v: 0.4  # image HSV-Value augmentation (fraction)
degrees: 0.0  # image rotation (+/- deg)
translate: 0.1  # image translation (+/- fraction)
scale: 0.5  # image scale (+/- gain)
shear: 0.0  # image shear (+/- deg)
perspective: 0.0  # image perspective (+/- fraction), range 0-0.001
flipud: 0.0  # image flip up-down (probability)
fliplr: 0.5  # image flip left-right (probability)
mosaic: 1.0  # image mosaic (probability)
mixup: 0.0  # image mixup (probability)
copy_paste: 0.0  # segment copy-paste (probability)

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122372614

以上是关于[YOLO专题-22]:YOLO V5 - ultralytics代码解析-超参数详解的主要内容,如果未能解决你的问题,请参考以下文章

[YOLO专题-18]:YOLO V5 - ultralytics代码解析-总体架构

[YOLO专题-21]:YOLO V5 - ultralytics代码解析-网络配置文件与总体结构

[YOLO专题-19]:YOLO V5 - ultralytics代码解析-dataloader数据加载机制

[YOLO专题-16]:YOLO V5 - 如何把labelme json训练数据集批量转换成yolo数据集

[YOLO专题-17]:YOLO V5 - 如何把YOLO训练数据集批量转换成带矩形框的图片

[YOLO专题-13]:YOLO V5 - ultralytics制作自己的训练数据集