yolo8 参数详解ultralytics/cfg/default.yaml

yolov8 训练的参数解析,具体如下:

# 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) 预热轮数(小数可)
### 关于 Ultralytics YOLO 配置文件 `yolo11-DBBNCSPELAN.yaml` Ultralytics 提供了一系列预定义的模型配置文件用于训练不同的目标检测任务。然而,在官方文档和公开资源中并未提及名为 `yolo11-DBBNCSPELAN.yaml` 的特定配置文件[^2]。通常情况下,YOLOv5 和 YOLOv8 中使用的配置文件遵循一定的命名约定并存储在项目的默认目录下。 对于 Ultralytics YOLO,默认的配置文件路径位于安装后的库内部目录结构中。如果需要查找具体的配置文件内容或路径,可以按照以下方法操作: #### 方法一:通过本地安装路径定位 假设已成功安装 Ultralytics 库,则可以通过以下方式找到配置文件的位置: ```bash pip show ultralytics ``` 上述命令会显示 Ultralytics 的安装路径。进入该路径下的子目录(通常是 `ultralytics/cfg/models/`),即可查看可用的 `.yaml` 文件列表及其具体内容。 #### 方法二:在线访问 GitHub 仓库 Ultralytics 官方维护了一个公共代码仓库,其中包含了所有的标准配置文件。用户可以直接访问其 GitHub 页面来获取最新的配置文件版本。以下是可能的链接形式: ``` https://github.com/ultralytics/ultralytics/tree/main/ultralytics/cfg/models/ ``` 在此页面上搜索是否存在类似的自定义名称配置文件。如果没有发现确切匹配项,则说明此文件可能是由第三方开发者创建或者尚未发布到主分支中。 #### 示例代码片段展示如何加载 YAML 文件 下面是一个简单的 Python 脚本例子,演示了读取任意给定路径中的 .yaml 文件的方法: ```python import yaml def load_yaml(file_path): with open(file_path, 'r') as file: config = yaml.safe_load(file) return config config_file = "path/to/yolo11-DBBNCSPELAN.yaml" model_config = load_yaml(config_file) print(model_config) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值