YOLO v8 参数设置,详解cfg/default.yaml

news2025/10/28 3:36:08

default.yaml 有很多训练、测试、预测、可视化等关键设置,一定不要忽略哦!

1.概述

任务和模式设置:定义YOLO的任务(如检测、分割、分类、姿态识别)和模式(如训练、验证、预测、导出、跟踪、基准测试)。

训练设置:包括模型文件路径、数据文件路径、训练轮次、训练时间、早停耐心(无改进的训练轮数)、批次大小、图像大小、是否保存训练检查点和预测结果、缓存设置、运行设备、工作线程数、项目和实验名称、是否允许覆盖现有实验、是否使用预训练模型、优化器类型、是否输出详细信息、随机种子、是否启用确定模式、是否作为单类别训练、是否应用矩形训练或验证、是否使用余弦学习率调度器等。

验证/测试设置:包括是否在训练过程中进行验证/测试、用于验证的数据集分割、是否保存结果到JSON文件、置信度阈值、交并比(IoU)阈值、每张图片的最大检测数量等。

预测设置:定义了预测源目录、视频帧速率步长、流媒体帧缓存设置、是否可视化模型特征、是否应用图像增强、是否使用类不可知NMS等。

可视化设置:设置是否展示预测图像和视频、是否保存预测的视频帧、是否保存结果为.txt文件、是否保存带有置信度分数的结果、是否保存结果裁剪图像、是否展示预测标签、置信度和边框等。

导出设置:定义导出格式、是否使用Keras、是否优化TorchScript、INT8量化、动态轴、简化模型等设置。

超参数:包括初始学习率、最终学习率、动量、权重衰减、预热轮数、盒子损失增益、分类损失增益、姿态损失增益、关键点对象损失增益、标签平滑、HSV色彩空间调整、图像旋转、平移、缩放、剪切、透视、上下翻转概率、左右翻转概率、马赛克效果、混合效果、副本粘贴概率等。

自定义配置和跟踪器设置:允许用户指定自定义配置文件和跟踪器类型。

2.逐行翻译:

# YOLO 🚀, AGPL-3.0 许可证
# 用于中等增强COCO训练的默认训练设置和超参数

task: detect  # (str) YOLO任务,例如检测、分割、分类、姿态
mode: train  # (str) YOLO模式,例如训练、验证、预测、导出、跟踪、基准测试

# 训练设置 -------------------------------------------------------------------------------------------------------
model:  # (str, 可选) 模型文件路径,例如 yolov8n.pt, yolov8n.yaml
data:  # (str, 可选) 数据文件路径,例如 coco128.yaml
epochs: 100  # (int) 训练轮次数
time:  # (float, 可选) 训练时间,如果提供,将覆盖epochs
patience: 50  # (int) 早停等待轮次,对于没有可观察改进的训练早期停止
batch: 16  # (int) 每批次的图像数量(-1表示自动批次)
imgsz: 640  # (int | list) 训练和验证模式的输入图像大小为int,或预测和导出模式的list[w,h]
save: True  # (bool) 保存训练检查点和预测结果
save_period: -1 # (int) 每x轮次保存一次检查点(如果<1则禁用)
cache: False  # (bool) True/ram, disk 或 False。使用缓存加载数据
device:  # (int | str | list, 可选) 运行设备,例如 cuda device=0 或 device=0,1,2,3 或 device=cpu
workers: 8  # (int) 数据加载的工作线程数(如果DDP,则为每个RANK)
project:  # (str, 可选) 项目名称
name:  # (str, 可选) 实验名称,结果保存在'project/name'目录
exist_ok: False  # (bool) 是否覆盖现有实验
pretrained: True  # (bool | str) 是否使用预训练模型(bool)或从中加载权重的模型(str)
optimizer: auto  # (str) 使用的优化器,可选项=[SGD, Adam, Adamax, AdamW, NAdam, RAdam, RMSProp, auto]
verbose: True  # (bool) 是否打印详细输出
seed: 0  # (int) 可重复性的随机种子
deterministic: True  # (bool) 是否启用确定模式
single_cls: False  # (bool) 将多类数据作为单类训练
rect: False  # (bool) 如果模式为'train'则矩形训练,如果模式为'val'则矩形验证
cos_lr: False  # (bool) 使用余弦学习率调度器
close_mosaic: 10  # (int) 在最后几轮禁用mosaic增强(0表示禁用)
resume: False  # (bool) 从最后一个检查点恢复训练
amp: True  # (bool) 自动混合精度(AMP)训练,可选项=[True, False],True表示运行AMP检查
fraction: 1.0  # (float) 训练数据集的分数(默认为1.0,训练集中的所有图像)
profile: False  # (bool) 在训练期间为记录器分析ONNX和TensorRT速度
freeze: None  # (int | list, 可选) 在训练期间冻结前n层,或冻结层索引列表
multi_scale: False   # (bool) 训练期间是否使用多尺度
# 分割
overlap_mask: True  # (bool) 训练期间掩码应重叠(仅限分割训练)
mask_ratio: 4  # (int) 掩码降采样比率(仅限分割训练)
# 分类
dropout: 0.0  # (float) 使用dropout正则化(仅限分类训练)

# 验证/测试设置 ----------------------------------------------------------------------------------------------------
val: True  # (bool) 在训练期间进行验证/测试
split: val  # (str) 用于验证的数据集分割,例如 'val', 'test' 或 'train'
save_json: False  # (bool) 将结果保存为JSON文件
save_hybrid: False  # (bool) 保存标签的混合版本(标签 + 额外预测)
conf:  # (float, 可选) 检测的对象置信度阈值(预测默认0.25,验证默认0.001)
iou: 0.7  # (float) NMS的交并比(IoU)阈值
max_det: 300  # (int) 每张图片的最大检测数量
half: False  # (bool) 使用半精度(FP16)
dnn: False  # (bool) 使用OpenCV DNN进行ONNX推理
plots: True  # (bool) 在训练/验证期间保存图表和图像

# 预测设置 -----------------------------------------------------------------------------------------------------
source:  # (str, 可选) 图像或视频的源目录
vid_stride: 1  # (int) 视频帧率步长
stream_buffer: False  # (bool) 缓冲所有流媒体帧(True)或返回最近的帧(False)
visualize: False  # (bool) 可视化模型特征
augment: False  # (bool) 对预测源应用图像增强
agnostic_nms: False  # (bool) 类不可知NMS
classes:  # (int | list[int], 可选) 通过类过滤结果,例如 classes=0, 或 classes=[0,2,3]
retina_masks: False  # (bool) 使用高分辨率分割掩码
embed:  # (list[int], 可选) 从给定层返回特征向量/嵌入

# 可视化设置 ---------------------------------------------------------------------------------------------------
show: False  # (bool) 如果环境允许,显示预测的图像和视频
save_frames: False  # (bool) 保存预测的视频帧
save_txt: False  # (bool) 将结果保存为.txt文件
save_conf: False  # (bool) 保存带有置信度分数的结果
save_crop: False  # (bool) 保存带有结果的裁剪图像
show_labels: True  # (bool) 显示预测标签,例如 'person'
show_conf: True  # (bool) 显示预测置信度,例如 '0.99'
show_boxes: True  # (bool) 显示预测框
line_width:   # (int, 可选) 边框的线宽。如果为None,则根据图像大小缩放。

# 导出设置 ------------------------------------------------------------------------------------------------------
format: torchscript  # (str) 导出的格式,选项参考 https://docs.ultwithzeyu.com/modes/export/#export-formats
keras: False  # (bool) 使用Keras
optimize: False  # (bool) TorchScript:为移动端优化
int8: False  # (bool) CoreML/TF INT8量化
dynamic: False  # (bool) ONNX/TF/TensorRT:动态轴
simplify: False  # (bool) ONNX:简化模型
opset:  # (int, 可选) ONNX:opset版本
workspace: 4  # (int) TensorRT:工作空间大小(GB)
nms: False  # (bool) CoreML:添加NMS

# 超参数 ------------------------------------------------------------------------------------------------------
lr0: 0.01  # (float) 初始学习率(例如SGD=1E-2, Adam=1E-3)
lrf: 0.01  # (float) 最终学习率(lr0 * lrf)
momentum: 0.937  # (float) SGD动量/Adam beta1
weight_decay: 0.0005  # (float) 优化器权重衰减5e-4
warmup_epochs: 3.0  # (float) 预热轮数(小数可)
warmup_momentum: 0.8  # (float) 预热初始动量
warmup_bias_lr: 0.1  # (float) 预热初始偏差学习率
box: 7.5  # (float) 盒子损失增益
cls: 0.5  # (float) 分类损失增益(与像素比例)
dfl: 1.5  # (float) dfl损失增益
pose: 12.0  # (float) 姿态损失增益
kobj: 1.0  # (float) 关键点对象损失增益
label_smoothing: 0.0  # (float) 标签平滑(比例)
nbs: 64  # (int) 名义批次大小
hsv_h: 0.015  # (float) 图像HSV-色调增强(比例)
hsv_s: 0.7  # (float) 图像HSV-饱和度增强(比例)
hsv_v: 0.4  # (float) 图像HSV-值增强(比例)
degrees: 0.0  # (float) 图像旋转(+/-度)
translate: 0.1  # (float) 图像平移(+/-比例)
scale: 0.5  # (float) 图像缩放(+/-增益)
shear: 0.0  # (float) 图像剪切(+/-度)
perspective: 0.0  # (float) 图像透视(+/-比例),范围0-0.001
flipud: 0.0  # (float) 图像上下翻转(概率)
fliplr: 0.5  # (float) 图像左右翻转(概率)
mosaic: 1.0  # (float) 图像马赛克(概率)
mixup: 0.0  # (float) 图像混合(概率)
copy_paste: 0.0  # (float) 分割复制粘贴(概率)
auto_augment: randaugment  # (str) 分类的自动增强策略(randaugment, autoaugment, augmix)
erasing: 0.4  # (float) 分类训练期间随机擦除的概率(0-1)
crop_fraction: 1.0  # (float) 分类评估/推理的图像裁剪比例(0-1)

# 自定义config.yaml ---------------------------------------------------------------------------------------------------
cfg:  # (str, 可选) 用于覆盖defaults.yaml

# 跟踪器设置 ------------------------------------------------------------------------------------------------------
tracker: botsort.yaml  # (str) 跟踪器类型,选项=[botsort.yaml, bytetrack.yaml]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1444354.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ARP欺骗攻击利用之抓取https协议的用户名与密码

1.首先安装sslstrip 命令执行&#xff1a;apt-get install sslstrip 2.启动arp欺骗 arpspoof -i ech0 -t 192.168.159.148 192.168.159.2 arpspoof -i ech0(网卡) -t 目标机ip 本地局域网关 3.命令行输入: vim /etc/ettercap/etter.conf进入配置文件 找到下红框的内容&a…

Java核心设计模式:代理设计模式

一、生活中常见的代理案例 房地产中介&#xff1a;客户手里没有房源信息&#xff0c;找一个中介帮忙商品代购&#xff1a;代理者一般有好的资源渠道&#xff0c;降低购物成本&#xff08;如海外代购&#xff0c;自己不用为了买东西出国&#xff09; 二、为什么要使用代理 对…

《动手学深度学习(PyTorch版)》笔记8.5

注&#xff1a;书中对代码的讲解并不详细&#xff0c;本文对很多细节做了详细注释。另外&#xff0c;书上的源代码是在Jupyter Notebook上运行的&#xff0c;较为分散&#xff0c;本文将代码集中起来&#xff0c;并加以完善&#xff0c;全部用vscode在python 3.9.18下测试通过&…

3D立方体图册

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8" /><meta name"viewport" content"widthdevice-width, initial-scale1.0" /><title>3D立方体图册</title><style>* {pad…

奶茶点餐|奶茶店自助点餐系统|基于微信小程序的饮品点单系统的设计与实现(源码+数据库+文档)

奶茶店自助点餐系统目录 目录 基于微信小程序的饮品点单系统的设计与实现 一、前言 二、系统功能设计 三、系统实现 1、商品信息管理 2、商品评价管理 3、商品订单管理 4、用户管理 四、数据库设计 1、实体ER图 2、具体的表设计如下所示&#xff1a; 五、核心代码 …

###C语言程序设计-----C语言学习(11)#数据的存储和基本数据类型

前言&#xff1a;感谢您的关注哦&#xff0c;我会持续更新编程相关知识&#xff0c;愿您在这里有所收获。如果有任何问题&#xff0c;欢迎沟通交流&#xff01;期待与您在学习编程的道路上共同进步。 一. 数据的存储 1.整型数据的存储 计算机处理的所有信息都以二进制形式表示…

政安晨:梯度与导数~示例演绎《机器学习·神经网络》的高阶理解

这篇文章确实需要一定的数学基础&#xff0c;第一次接触的小伙伴可以先看一下我示例演绎这个主题的前两篇文章&#xff1a; 示例演绎机器学习中&#xff08;深度学习&#xff09;神经网络的数学基础——快速理解核心概念&#xff08;一&#xff09;&#xff1a; 政安晨&#…

HCIA-HarmonyOS设备开发认证V2.0-3.2.轻量系统内核基础-时间管理

目录 一、时间管理1.1、时间接口 一、时间管理 时间管理以系统时钟为基础&#xff0c;给应用程序提供所有和时间有关的服务。系统时钟是由定时器/计数器产生的输出脉冲触发中断产生的&#xff0c;一般定义为整数或长整数。输出脉冲的周期叫做一个“时钟滴答”。系统时钟也称为…

课时20:全局变量_嵌套shell

2.3.3 嵌套shell 学习目标 这一节&#xff0c;我们从 export原理、嵌套实践、小结 三个方面来学习。 export原理 原理解析 用户登录时:用户登录到Linux系统后&#xff0c;系统将启动一个用户shell。在这个shell中&#xff0c;可以使用shell命令或声明变量&#xff0c;也可…

MySQL篇----第十九篇

系列文章目录 文章目录 系列文章目录前言一、什么是存储过程?用什么来调用?二、如何通俗地理解三个范式?三、什么是基本表?什么是视图?四、试述视图的优点?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这…

AI助力农作物自动采摘,基于YOLOv5全系列【n/s/m/l/x】参数模型开发构建作番茄采摘场景下番茄成熟度检测识别计数分析系统

去年十一那会无意间刷到一个视频展示的就是德国机械收割机非常高效自动化地24小时不间断地在超广阔的土地上采摘各种作物&#xff0c;专家设计出来了很多用于采摘不同农作物的大型机械&#xff0c;看着非常震撼&#xff0c;但是我们国内农业的发展还是相对比较滞后的&#xff0…

vue项目搭建测试

5&#xff0c;项目测试 导入elementplus以及样式 import ElementPlus from element-plus import element-plus/dist/index.csscreateApp(App).use(store).use(router).use(ElementPlus).mount(#app)<template><el-row class"mb-4"><el-button>De…

Windows10安装PCL1.14.0及点云配准

一、下载visual studio2022 下载网址&#xff1a;Visual Studio: 面向软件开发人员和 Teams 的 IDE 和代码编辑器 (microsoft.com) 安装的时候选择"使用C的桌面开发“&#xff0c;同时可以修改文件路径&#xff0c;可以放在D盘。修改文件路径的时候&#xff0c;共享组件、…

【PWN · heap | Arbitrary Alloc】2015_9447ctf_search-engine

和【PWN heap | House Of Spirit】2014_hack.lu_oreo-CSDN博客略有区别&#xff0c;但都是通过malloc一块fake_chunk到指定区域&#xff0c;获得对该区域的写权限 目录 零、简单介绍 一、题目分析 1.主要功能 2.index_sentence(): 增添一条语句到“库”中 3.search_word(…

ubuntu下修改hosts读写权限

ubuntu下修改hosts文件的操作&#xff1a; 由于需要在hosts文件下添加ip地址信息&#xff0c;但是初始情况下系统该文件为只读权限无法修改&#xff0c;具体操作如下所示&#xff1b; 1.cd到系统etc目录下&#xff0c;执行如下命令,此时会提示输入密码&#xff0c;直接输入回…

Java实现陕西非物质文化遗产网站 JAVA+Vue+SpringBoot+MySQL

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 设计目标2.2 研究内容2.3 研究方法与过程2.3.1 系统设计2.3.2 查阅文献2.3.3 网站分析2.3.4 网站设计2.3.5 网站实现2.3.6 系统测试与效果分析 三、系统展示四、核心代码4.1 查询民间文学4.2 查询传统音乐4.3 增改传统舞…

用C语言列出Linux或Unix上的网络适配器

上代码&#xff1a; 1. #include <sys/socket.h> 2. #include <stdio.h> 3. 4. #include <netdb.h> 5. #include <ifaddrs.h> 6. 7. int main() { 8. struct ifaddrs *addresses; 9. if(getifaddrs(&addresses) -1) { 10. printf("…

软件价值11-简单计算器

用python的tkinter做的简单计算器 代码&#xff1a; import tkinter as tkdef button_click(item):global expressionexpression expression str(item)input_text.set(expression)def button_clear():global expressionexpression ""input_text.set(""…

车载测试Vector工具——常见问题汇总

车载测试Vector工具——常见问题汇总 我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师(Wechat:gongkenan2013)。 老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何 消耗你的人和事,多看一眼都是你的…

python-分享篇-GUI界面开发-PyQt5-使用tkinter模块弹出不同种类的消息提示框

代码 import tkinter.messagebox # 导入tkinter模块的子模块messagebox# 带一个确定按钮的提示消息框 tkinter.messagebox.showinfo("提示&#xff1a;","愿你的青春不负梦想&#xff01;")# 带一个确定按钮的警告消息框 tkinter.messagebox.showwarning(…