YOLO26训练数据集配置:data.yaml修改详细步骤

最新 YOLO26 官方版训练与推理镜像
本镜像基于 YOLO26 官方代码库 构建,预装了完整的深度学习开发环境,集成了训练、推理及评估所需的所有依赖,开箱即用。

1. 镜像环境说明

  • 核心框架: pytorch == 1.10.0
  • CUDA版本: 12.1
  • Python版本: 3.9.5
  • 主要依赖: torchvision==0.11.0, torchaudio==0.10.0, cudatoolkit=11.3, numpy, opencv-python, pandas, matplotlib, tqdm, seaborn 等。

该环境已为YOLO26的训练和推理任务做好全面准备,无需手动安装复杂依赖,节省大量部署时间。所有工具链均已验证兼容,确保模型运行稳定高效。

2. 快速上手

在这里插入图片描述
启动完是这样的
在这里插入图片描述

2.1 激活环境与切换工作目录

在使用前,请先激活 Conda 环境,命令如下:

conda activate yolo

在这里插入图片描述

镜像启动后,默认代码存放在系统盘。为了方便后续修改和调试,建议将代码复制到数据盘进行操作。执行以下命令完成复制:

cp -r /root/ultralytics-8.4.2 /root/workspace/

在这里插入图片描述

进入新目录开始工作:

cd /root/workspace/ultralytics-8.4.2

在这里插入图片描述
在这里插入图片描述

这样可以避免对原始文件造成误改,也便于管理自定义训练任务。

2.2 模型推理

要测试模型效果,可运行 detect.py 文件。首先检查或修改该脚本内容如下:

# -*- coding: utf-8 -*-
"""
@Auth :落花不写码
@File :detect.py
@IDE :PyCharm
@Motto :学习新思想,争做新青年
"""

from ultralytics import YOLO

if __name__ == '__main__':

    # Load a model
    model = YOLO(model=r'yolo26n-pose.pt')
    model.predict(source=r'./ultralytics/assets/zidane.jpg',
                  save=True,
                  show=False,
                  )

参数说明:

  • model参数:填入模型权重文件路径,支持 .pt 格式,如 yolo26n.ptyolo26s.pt
  • source参数:指定输入源,可以是本地图片、视频路径,或摄像头编号(如 0 表示默认摄像头)。
  • save参数:设为 True 可自动保存检测结果图像或视频,推荐开启以便后续查看。
  • show参数:是否实时显示窗口画面,服务器环境下通常设为 False 以减少资源占用。

运行推理命令:

python detect.py

在这里插入图片描述
在这里插入图片描述

推理完成后,结果会保存在 runs/detect/predict/ 目录下,终端也会输出检测信息,包括类别、置信度和处理耗时。

2.3 模型训练

训练自定义目标检测模型的关键一步是正确配置 data.yaml 文件。这个文件告诉YOLO你的数据集结构、类别名称以及训练验证集的位置。

3.1 data.yaml 文件结构解析

YOLO格式的数据集必须包含一个 data.yaml 配置文件,其基本结构如下:

train: /root/workspace/ultralytics-8.4.2/datasets/mydata/images/train
val: /root/workspace/ultralytics-8.4.2/datasets/mydata/images/val

nc: 80
names: ['person', 'bicycle', 'car', 'motorcycle', 'airplane', 'bus', 'train', 'truck', 'boat', ...]

各字段含义:

  • train:训练集图像路径(绝对路径或相对路径均可)
  • val:验证集图像路径
  • nc:number of classes,即类别总数
  • names:类别名称列表,顺序需与标签索引一致

注意:每张图片对应的标签文件应位于 labels 文件夹中,且命名与图片相同,格式为 .txt,每行表示一个对象,格式为 class_id center_x center_y width height(归一化坐标)。

3.2 修改 data.yaml 实例

假设你上传了自己的数据集,存放于 /root/workspace/ultralytics-8.4.2/datasets/custom_data/,则 data.yaml 应修改为:

train: ../datasets/custom_data/images/train
val: ../datasets/custom_data/images/val

nc: 3
names: ['cat', 'dog', 'bird']

确保路径正确无误,否则训练会报错找不到数据。

3.3 train.py 训练脚本配置

接下来修改 train.py 文件,加载模型并启动训练:

# -*- coding: utf-8 -*-
"""
@Auth :落花不写码
@File :train.py
@IDE :PyCharm
@Motto :学习新思想,争做新青年
"""
import warnings
warnings.filterwarnings('ignore')
from ultralytics import YOLO

if __name__ == '__main__':
    model = YOLO(model='/root/workspace/ultralytics-8.4.2/ultralytics/cfg/models/26/yolo26.yaml')
    model.load('yolo26n.pt')  # 加载预训练权重,改进或者做对比实验时候不建议打开,因为用预训练模型整体精度没有很明显的提升
    model.train(data=r'data.yaml',
                imgsz=640,
                epochs=200,
                batch=128,
                workers=8,
                device='0',
                optimizer='SGD',
                close_mosaic=10,
                resume=False,
                project='runs/train',
                name='exp',
                single_cls=False,
                cache=False,
                )

关键参数解释:

  • data:指向 data.yaml 文件路径
  • imgsz:输入图像尺寸,常用 640
  • epochs:训练轮数,可根据数据量调整
  • batch:批量大小,根据显存合理设置
  • workers:数据加载线程数,影响读取速度
  • device:指定GPU设备,'0' 表示第一块GPU
  • optimizer:优化器选择,SGD 或 Adam
  • close_mosaic:在最后N个epoch关闭Mosaic增强,提升收敛稳定性
  • resume:是否从中断处继续训练
  • project/name:训练结果保存路径和实验名

运行训练命令:

python train.py

在这里插入图片描述

训练过程中,日志会实时输出loss、mAP等指标,最佳模型会自动保存在 runs/train/exp/weights/best.pt

2.4 下载训练结果

训练结束后,可通过Xftp等SFTP工具将模型和日志下载到本地使用。

操作方式非常简单:

  • 打开Xftp连接服务器
  • 在右侧找到 runs/train/exp/ 文件夹
  • 将整个文件夹或其中的 weights 子目录拖拽至左侧本地路径
  • 若文件较大,建议先压缩再传输:
zip -r exp.zip runs/train/exp/

双击传输任务可查看进度和速率。

在这里插入图片描述

上传数据集时也是同样操作,只需反向拖拽即可。

3. 已包含权重文件

镜像内已预下载常用权重文件,放置在代码根目录下,无需额外下载。

在这里插入图片描述

包括但不限于:

  • yolo26n.pt
  • yolo26s.pt
  • yolo26m.pt
  • yolo26l.pt
  • yolo26x.pt
  • yolo26n-pose.pt

这些模型适用于不同场景下的推理任务,小模型适合边缘设备部署,大模型适合高精度需求场景。

4. 常见问题

  • 数据集准备:请确保数据集符合YOLO格式,即每个图像对应一个 .txt 标签文件,类别索引从0开始连续编号。
  • 环境激活:镜像启动后默认处于 torch25 环境,请务必执行 conda activate yolo 切换至正确环境,否则会提示模块缺失。
  • 路径错误data.yaml 中的路径建议使用相对路径或完整绝对路径,避免因路径解析失败导致训练中断。
  • 显存不足:若出现OOM(Out of Memory)错误,尝试降低 batch 大小或减小 imgsz
  • 标签越界:检查标签中的 class_id 是否超过 nc-1,否则会抛出索引异常。

5. 总结

本文详细介绍了如何在YOLO26官方训练与推理镜像中配置 data.yaml 文件,并完成从环境准备、数据组织、模型训练到结果下载的全流程操作。

核心要点回顾:

  1. 正确组织数据集结构,确保 imageslabels 对应匹配;
  2. 准确填写 data.yaml 中的路径、类别数和名称;
  3. 使用预置权重加速训练,合理设置超参;
  4. 利用Xftp高效上传下载数据与模型。

通过这套标准化流程,即使是初学者也能快速上手YOLO26模型训练,实现个性化目标检测任务。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐