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的完整运行环境提供了无缝支持,无需手动安装复杂依赖。无论是本地部署还是云端使用,都能快速进入模型训练和推理阶段,特别适合刚接触YOLO系列的新手用户以及希望高效迭代项目的开发者。
2. 快速上手
启动完是这样的
2.1 激活环境与切换工作目录
在使用前,请先激活 Conda 环境,命令如下:
conda activate yolo镜像启动后,默认代码存放在系统盘。为了防止误操作影响原始文件,并方便后续修改,建议将代码复制到数据盘进行操作。执行以下命令完成复制:
cp -r /root/ultralytics-8.4.2 /root/workspace/随后进入新目录开始工作:
cd /root/workspace/ultralytics-8.4.2这一步看似简单,但非常重要——它确保你在可写路径下进行开发,避免权限问题导致训练中断或配置无法保存。
3. data.yaml 文件详解与修改方法
3.1 什么是 data.yaml?
data.yaml是 YOLO 模型识别数据集的核心配置文件。它告诉模型:你的数据在哪里、有多少类、每个类别叫什么名字。没有正确配置这个文件,哪怕模型再强大也“看不懂”你给的数据。
YOLO26 延续了 Ultralytics 的设计风格,data.yaml通常位于项目根目录或自定义数据集文件夹中。一个标准的配置长这样:
train: ../datasets/coco/train/images val: ../datasets/coco/val/images test: ../datasets/coco/test/images nc: 80 names: ['person', 'bicycle', 'car', ...]我们来逐项解释:
train: 训练集图像路径(相对或绝对)val: 验证集图像路径test: 测试集图像路径(可选)nc: 类别数量(number of classes)names: 所有类别的名称列表,顺序必须与标签索引一致
3.2 如何准备自己的数据集?
要让 YOLO26 学会识别你关心的目标,首先要准备好符合 YOLO 格式的数据集。结构如下:
my_dataset/ ├── images/ │ ├── train/ │ │ └── img1.jpg │ ├── val/ │ │ └── img2.jpg │ └── test/ │ └── img3.jpg └── labels/ ├── train/ │ └── img1.txt ├── val/ │ └── img2.txt └── test/ └── img3.txt每张图片对应一个.txt标注文件,内容格式为:
<class_id> <x_center> <y_center> <width> <height>所有坐标都是归一化后的值(0~1),这是 YOLO 的硬性要求。
你可以用 LabelImg、CVAT 或其他标注工具生成这些文件。关键是要保证:
- 图片和标签文件同名
- 路径层级清晰
- 类别编号从 0 开始连续排列
3.3 修改 data.yaml 实际操作
假设你已将数据集上传至/root/workspace/my_dataset,现在需要创建并编辑data.yaml文件。
首先,在代码目录下新建文件:
touch data.yaml然后用nano或vim编辑:
nano data.yaml填入以下内容(根据实际情况调整):
train: /root/workspace/my_dataset/images/train val: /root/workspace/my_dataset/images/val test: /root/workspace/my_dataset/images/test nc: 3 names: ['cat', 'dog', 'bird']保存退出即可。
重要提示:路径一定要写对!推荐使用绝对路径,避免因相对路径计算错误导致找不到数据。如果训练时报错 “No images found”,八成是路径写错了。
3.4 常见配置错误排查
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| 报错“No images found” | 路径错误或空目录 | 检查train/val路径是否正确,确认目录中有图片 |
| 类别数不匹配 | nc与names数量不符 | 确保nc等于len(names) |
| 标签越界 | 标注文件中的 class_id 超出范围 | 检查所有.txt文件,class_id 应在[0, nc-1]范围内 |
| 图像读取失败 | 图片损坏或格式不支持 | 删除异常图片或统一转为 JPG/PNG |
一个小技巧:可以在 Python 中临时测试路径是否有效:
import os print(os.listdir("/root/workspace/my_dataset/images/train")[:5])只要能列出文件名,就说明路径没问题。
4. 模型训练全流程演示
4.1 train.py 配置说明
YOLO26 的训练入口是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.yamlimgsz: 输入图像尺寸,常用 640epochs: 训练轮数,一般设为 100~300batch: 批次大小,根据显存调整(128 对应 A100)workers: 数据加载线程数,建议设为 GPU 数量的 2~4 倍device: 使用哪块 GPU,'0' 表示第一块optimizer: 优化器选择,SGD 更稳定,Adam 收敛快close_mosaic: 最后 N 个 epoch 关闭 Mosaic 数据增强,提升收敛质量resume: 断点续训,训练中断后可设为 True 继续project/name: 结果保存路径,最终会生成runs/train/exp/weights/best.pt
4.2 启动训练
保存train.py后,在终端运行:
python train.py训练过程中会实时输出损失值、mAP 等指标。最佳模型会自动保存在weights/best.pt,最终结果也会生成 PR 曲线、混淆矩阵等可视化图表,帮助你分析性能瓶颈。
5. 推理与结果查看
5.1 detect.py 简单修改即可推理
训练完成后,可以用detect.py对新图片或视频做预测。代码如下:
from ultralytics import YOLO if __name__ == '__main__': model = YOLO(model=r'yolo26n-pose.pt') model.predict(source=r'./ultralytics/assets/zidane.jpg', save=True, show=False)参数说明:
model: 指定模型权重路径,可以是best.pt自定义模型source: 输入源,支持图片路径、视频路径、摄像头(填 0)save: 是否保存结果图,默认 Falseshow: 是否弹窗显示,默认 True,服务器环境下建议设为 False
运行命令:
python detect.py结果会保存在runs/detect/predict/目录下。
6. 模型与数据下载管理
训练结束后,模型权重默认保存在服务器上。你可以通过 Xftp 等工具将其下载到本地使用。
操作方式很简单:
- 打开 Xftp 连接实例
- 左侧是你本地电脑的文件系统
- 右侧是远程服务器的目录结构
- 找到
runs/train/exp/weights/文件夹 - 将
best.pt或last.pt双击或拖拽到左侧本地目录即可下载
小贴士:大文件建议先压缩再传输。例如:
zip best.zip runs/train/exp/weights/best.pt下载后再解压,能显著减少等待时间。
上传数据集也是同样操作,只是方向反过来:把本地数据拖到右侧服务器目录即可。
7. 总结
本文详细讲解了如何在 YOLO26 官方镜像中配置data.yaml并完成整个训练流程。核心要点回顾:
- 环境激活不可少:务必执行
conda activate yolo,否则依赖缺失。 - 数据路径要准确:
data.yaml中使用绝对路径最稳妥,避免相对路径陷阱。 - 数据格式要规范:图片与标签一一对应,类别编号从 0 开始。
- 训练参数可调优:
batch、epochs、optimizer根据硬件和任务灵活设置。 - 结果下载很方便:Xftp 拖拽即可完成模型传输,适合本地部署或二次集成。
只要你按照这个流程走一遍,就能成功用自己的数据训练出专属的 YOLO26 模型。无论是做科研、比赛还是工业落地,这套方法都经得起实战检验。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。