YOLO26项目结构解析:ultralytics/cfg路径说明
最新 YOLO26 官方版训练与推理镜像
本镜像基于YOLO26 官方代码库构建,预装了完整的深度学习开发环境,集成了训练、推理及评估所需的所有依赖,开箱即用。
1. 镜像环境说明
该镜像为YOLO26的完整运行环境提供了高度集成的支持,适用于从初学者到专业开发者的各类用户。无需手动配置复杂的依赖关系,所有关键组件均已预装并完成兼容性测试。
- 核心框架:
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等常用科学计算和视觉处理库
此环境经过优化,在NVIDIA GPU上可实现高效训练与实时推理,特别适合目标检测、姿态估计等任务的实际部署需求。
2. 快速上手
2.1 激活环境与切换工作目录
在使用前,请先激活 Conda 环境:
conda activate yolo注意:镜像默认进入的是
torch25环境,必须手动切换至yolo环境才能正常运行YOLO26相关脚本。
由于系统盘空间有限,建议将代码复制到数据盘进行操作。执行以下命令完成迁移:
cp -r /root/ultralytics-8.4.2 /root/workspace/随后进入新目录开始后续操作:
cd /root/workspace/ultralytics-8.4.2这样做的好处是便于修改源码、保存训练结果,并避免因磁盘空间不足导致中断。
2.2 模型推理
YOLO26支持多种推理模式,包括图像、视频和摄像头输入。我们以一个简单的图片推理为例,展示如何快速调用模型。
首先创建或修改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参数:指定模型权重文件路径。可以是.pt格式的预训练权重,也可以是.yaml配置文件(用于从头加载结构)。source参数:输入源路径。支持本地图片、视频文件路径,或直接传入摄像头编号(如0表示默认摄像头)。save参数:是否保存推理结果。设为True时,输出图像会自动保存到runs/detect/predict/目录下。show参数:是否弹窗显示结果。若在无GUI服务器上运行,应设为False。
运行命令启动推理:
python detect.py程序执行后会在终端打印检测信息(如类别、置信度、坐标),同时生成带标注框的结果图。你可以通过Xftp等方式下载查看。
2.3 模型训练
要训练自定义数据集,需准备符合YOLO格式的数据集,并正确配置data.yaml文件。
数据集配置(data.yaml)
YOLO要求数据集按如下结构组织:
dataset/ ├── images/ │ ├── train/ │ └── val/ ├── labels/ │ ├── train/ │ └── val/ └── data.yamldata.yaml内容示例:
train: ./dataset/images/train val: ./dataset/images/val nc: 80 names: ['person', 'bicycle', 'car', ...]其中:
train和val指向训练与验证集图像路径nc是类别数量names是类别名称列表
训练脚本配置(train.py)
以下是完整的训练脚本参考:
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 )关键参数说明:
| 参数 | 说明 |
|---|---|
imgsz | 输入图像尺寸,通常为640 |
batch | 批次大小,根据显存调整 |
epochs | 训练轮数 |
device | 使用GPU编号,单卡填'0' |
close_mosaic | 在最后N个epoch关闭Mosaic增强 |
resume | 是否从中断处继续训练 |
project和name | 控制日志和权重保存路径 |
运行训练:
python train.py训练过程中会实时输出损失值、mAP等指标,最终模型权重将保存在runs/train/exp/weights/目录中。
2.4 下载训练结果
训练完成后,可通过SFTP工具(如Xftp)将模型文件下载到本地使用。
操作方式非常直观:
- 在Xftp界面中,右侧为远程服务器文件
- 左侧为本地计算机路径
- 将远程目录中的
runs/train/exp文件夹拖拽到左侧即可开始传输 - 单个文件可直接双击下载
建议对大文件夹先压缩再传输,例如使用命令:
tar -czf exp.tar.gz runs/train/exp可显著减少传输时间。
3. ulrtaletics/cfg 路径结构深度解析
ultralytics/cfg是YOLO26项目的核心配置目录,决定了模型架构、训练策略和模块行为。理解其结构有助于灵活定制模型。
3.1 主要子目录概览
ultralytics/ └── cfg/ ├── models/ # 模型结构定义 ├── defaults.yaml # 默认超参配置 └── tasks.yaml # 任务类型映射我们重点分析models/目录。
3.2 models/26/ 目录详解
这是YOLO26专属的模型配置区,包含不同规模的网络结构:
models/26/ ├── yolo26.yaml # Nano级别基础结构 ├── yolo26s.yaml # Small版本 ├── yolo26m.yaml # Medium版本 ├── yolo26l.yaml # Large版本 ├── yolo26x.yaml # Extra-large版本 └── yolo26-pose.yaml # 姿态估计专用结构每个.yaml文件定义了网络的层级结构和关键参数。
示例:yolo26s.yaml 片段解析
# YOLOv26s model nc: 80 # number of classes scales: s: [0.33, 0.5] backbone: - [-1, 1, Conv, [64, 3, 2]] # P1/2 - [-1, 1, Conv, [128, 3, 2]] # P2/4 - [-1, 3, C2f, [128, True]] - [-1, 1, Conv, [256, 3, 2]] # P3/8 - [-1, 6, C2f, [256, True]] - [-1, 1, Conv, [512, 3, 2]] # P4/16 - [-1, 6, C2f, [512, True]] - [-1, 1, Conv, [1024, 3, 2]] # P5/32 - [-1, 3, C2f, [1024, True]] - [-1, 1, SPPF, [1024, 5]]字段含义解释:
nc:分类数量,默认80(COCO数据集)scales:缩放因子,控制通道数与层数backbone:主干网络结构-1表示上一层输出1表示重复次数Conv、C2f、SPPF为模块名[64, 3, 2]是模块参数(输出通道、卷积核、步长)
这种设计使得模型结构完全可配置,无需修改Python代码即可调整网络深度与宽度。
3.3 自定义模型结构技巧
如果你想基于YOLO26设计自己的变体,只需复制一份.yaml文件并修改:
- 复制基础配置:
cp ultralytics/cfg/models/26/yolo26s.yaml my_yolo.yaml修改
nc适配你的数据集类别数调整
backbone或head中的模块数量或通道数在训练时指向该配置文件:
model = YOLO(model='my_yolo.yaml')即可从头训练一个全新结构的模型。
4. 已包含权重文件说明
镜像内已预下载常用权重文件,位于代码根目录:
yolo26n.pt:Nano版本目标检测权重yolo26n-pose.pt:Nano版本姿态估计权重- 其他规模(s/m/l/x)的权重也一并提供
这些权重可用于:
- 直接推理(zero-shot)
- 迁移学习(fine-tuning)
- 模型对比实验
无需额外下载,开箱即用,极大提升开发效率。
5. 常见问题与解决方案
5.1 环境未激活导致报错
现象:导入ultralytics报错 ModuleNotFoundError
原因:未切换至yolo环境
解决:
conda activate yolo确认当前环境名称正确:
conda info --envs5.2 显存不足(Out of Memory)
现象:训练时报CUDA out of memory
解决方法:
- 减小
batch值(如改为64或32) - 降低
imgsz(如改为320或480) - 启用
cache=False避免缓存全部数据
5.3 数据路径错误
现象:提示找不到图像或标签
检查点:
data.yaml中路径是否为绝对路径或相对路径正确- 图像与标签文件名是否一一对应
- label文件中的类别索引是否在
[0, nc)范围内
5.4 推理窗口无法显示(show=True 报错)
场景:在无图形界面的服务器上运行
解决:设置show=False
model.predict(source='test.jpg', show=False, save=True)或使用虚拟显示:
export DISPLAY=:06. 总结
本文详细解析了YOLO26官方训练与推理镜像的使用流程,重点讲解了ultralytics/cfg路径下的模型配置体系。通过这个结构化的配置系统,用户可以在不改动代码的前提下,灵活定义网络结构、调整训练策略、扩展任务类型。
核心要点回顾:
- 镜像开箱即用,省去繁琐环境配置
cfg/models/26/下的YAML文件决定了模型“基因”- 推理与训练脚本简单清晰,易于二次开发
- 支持从预训练权重加载,加速模型迭代
- 所有输出均可方便导出用于实际部署
掌握这套配置机制,你就能真正“读懂”YOLO26的设计思想,不再只是调包侠,而是能够深入定制、优化和创新的实践者。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。