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

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.mzph.cn/news/672711.shtml

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

相关文章

【已解决】onnx转换为rknn置信度大于1,图像出现乱框问题解决

前言 环境介绍&#xff1a; 1.编译环境 Ubuntu 18.04.5 LTS 2.RKNN版本 py3.8-rknn2-1.4.0 3.单板 迅为itop-3568开发板 一、现象 采用yolov5训练并将pt转换为onnx&#xff0c;再将onnx采用py3.8-rknn2-1.4.0推理转换为rknn出现置信度大于1&#xff0c;并且图像乱框问题…

MySQL之建表操作

华子目录 表操作创建表数据类型文本类型数值类型日期/时间类型Bit数据类型常见数据类型 MySQL存储引擎创建表的三个操作创建表时指定存储引擎&#xff0c;字符集&#xff0c;校对规则&#xff0c;行格式 查看表显示数据库中所有表显示数据库中表的信息&#xff08;表结构&#…

函数的连续与间断【高数笔记】

【连续】 分类&#xff0c;分几个&#xff1f;每类特点&#xff1f; 连续条件&#xff0c;是同时满足还是只需其一&#xff1f; 【间断】 分类&#xff0c;分几个大类&#xff0c;又分几个小类&#xff1f;每类特点&#xff1f; 间断条件&#xff0c;是同时满足还是只需其一&am…

芯片设计方法学之--握手

1.面向对象 本文主要介绍握手的基本概念&#xff0c;读者可通过该篇文章对握手有个基本概念。也借此机会发表下自己对流水线中的握手反压的一些愚见。更深的理解可期待后续更新&#xff1b; 2. 握手简介 举个简单例子&#xff1b; 上图中sender拉高vld发送有效的数据给recei…

44、WEB攻防——通用漏洞RCE代码执行多层面检测利用

文章目录 RCE分类&#xff1a; REC代码执行&#xff1a;引用脚本代码解析执行。例如&#xff0c;eval(phpinfo();)以php脚本解析phpinfo();。RCE命令执行&#xff1a;脚本调用操作系统命令。例如&#xff0c;system(ver)&#xff0c;命令执行能执行系统命令。 RCE漏洞对象&am…

相机图像质量研究(6)常见问题总结:光学结构对成像的影响--对焦距离

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结&#xff1a;光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结&#xff1a;光学结构对成…

Linux的打包压缩与解压缩---tar、xz、zip、unzip

最近突然用到了许久不用的压缩解压缩命令&#xff0c;真的陌生&#xff0c; 哈哈&#xff0c;记录一下&#xff0c;后续就不用搜索了。 tar的打包 tar -cvf 压缩有的文件名称 需要压缩的文件或文件夹tar -cvf virtualbox.tar virtualbox/ tar -zcvf virtualbox.tar virtualbo…

家政小程序开发,重塑家政服务体验

随着科技的飞速发展&#xff0c;小程序已经成为我们日常生活中不可或缺的一部分。而家政服务作为社会生活的重要环节&#xff0c;其数字化转型也正在逐步加速。本文将探讨家政小程序开发的重要性、功能特点以及如何提升用户体验。 一、家政小程序开发的重要性 家政服务行业在…

IDEA生成可执行jar包

1. 进入需要打包的项目&#xff0c;选择 最上方菜单栏的 File → Project Structure 2. 选择 左侧菜单栏 Artifacts → 加号 → JAR → from modules with dependencies 3. 选择入口类 Main Class&#xff08;点击文件夹图标可以快速选择&#xff09;&#xff0c;点击 OK&#…

Vue3.4+element-plus2.5 + Vite 搭建教程整理

一、 Vue3Vite 项目搭建 说明&#xff1a; Vue3 最新版本已经基于Vite构建&#xff0c;关于Vite简介&#xff1a;Vite 下一代的前端工具链&#xff0c;前端开发与构建工具-CSDN博客 1.安装 并 创建Vue3 应用 npm create vuelatest 创建过程可以一路 NO 目前推荐使用 Vue R…

springboot 拦截器

定义 拦截器类似于javaweb中filter 功能 注意: 只能拦截器controller相关的请求 作用 举一个例子&#xff0c;例如我们在Controller中都有一段业务逻辑&#xff0c;这样我们就可以都统一放在拦截器中 因此拦截器的作用就是将controller中共有代码放入到拦截器中执行,减少co…

游戏开发中的残影效果

引言 游戏开发中的残影效果 大家好&#xff0c;相信大家都玩过三国战纪这款游戏&#xff0c;二十年经典街机,青春重燃! 它里面人物在爆气的时候&#xff0c;移动速度会加快&#xff0c;从而产生一种移形换影的感觉。 残影效果作为一种常见的视觉特效&#xff0c;在增强游戏…

IS-IS P2P网路类型 地址不在同一子网建立邻居关系

拓扑图 由于IS-IS是直接运行在数据链路层上的协议&#xff0c;并且最早设计是给CLNP使用的&#xff0c;IS-IS邻居关系的形成与IP地址无关。但在实际的实现中&#xff0c;由于只在IP上运行IS-IS&#xff0c;所以是要检查对方的IP地址的。如果接口配置了从IP&#xff0c;那么只要…

ABAP 获取屏幕字段值,field-symbols,assign..TO.. 相关知识实例

ABAP 获取屏幕字段值&#xff0c;field-symbols&#xff0c;assign..TO.. 相关知识实例 以QA32质量放行程序为例子&#xff1a; 由于这个两个值都在结构RQEVA中&#xff0c;为了方便这里获取整个结构值&#xff0c;最后利用指针指向这个程序的这个结构即可获取当前值&#xf…

orin nx 安装paddlespeech记录

nx配置&#xff1a; 模块 版本说明 CPU 8核 内存 16G Cuda版本 11.4 Opencv版本 4.5.4 Tensorrt版本 5.1 Cudnn版本 8.6.0.166 Deepstream版本 6.2 Python版本 3.8 算力 100T 安装paddlepaddle&#xff1a; 去飞桨官网下载jetpack版本的&#xff1a;下…

服务器运存使用率多少正常?

服务器运存使用率多少正常&#xff0c;这是一个相对主观的问题&#xff0c;因为服务器的正常运行不仅取决于运存使用率&#xff0c;还与服务器的工作负载、应用程序的特性和需求、服务器的配置和用途等多种因素有关。然而&#xff0c;一般来说&#xff0c;大多数服务器在运存使…

ideal打包,如何访问项目根目录的libs中的jar包

参考&#xff1a;idea maven 导入lib中jar 并打包_maven引入lib中的jar包-CSDN博客 解决办法&#xff0c;只需要在pom文件中加入 <includeSystemScope>true</includeSystemScope> <build><!-- <includeSystemScope>true</includeSystemScope&g…

占位程序接收到错误数据

有时候wsl2会出现如下的错误&#xff1a; 占位程序接收到错误数据。 Error code: Wsl/Service/0x800706f7解决方法是用管理员的cmd界面执行如下方法&#xff1a; netsh winsock reset

ArcGIS学习(六)地理数据库

ArcGIS学习(六)地理数据库 上个任务我们讲了一个非常重要的知识点一一坐标系。这个任务我们带来另外一个很重要的知识点一一地理数据库。 地理数据库的内容相比于坐标系简单很多! 首先,先让我们来学习下地理数据库的理论。 ArcGIS 中的地理数据库(Geodatabase)是一个用…

视频上传-分片上传那点事

在上一篇文章中&#xff0c;我们讲解了从视频上传到保存在服务端的整个过程&#xff0c;在这个过程中&#xff0c;我们又细分了前端上传视频的几种方式&#xff0c;前端处理视频的几种方式&#xff0c;在前后端通信过程中需要注意的哪些点等等。有不清楚的小伙伴可以看看 上篇文…