YOLO26开源镜像使用手册:从激活环境到模型导出
这是一份面向实际工程落地的实操指南。不讲抽象原理,不堆技术参数,只说你打开镜像后第一步该敲什么命令、第二步该改哪行代码、第三步怎么把训练好的模型拿走用起来。无论你是刚接触目标检测的新手,还是想快速验证YOLO26能力的开发者,照着做就能跑通全流程。
1. 镜像到底装了啥?三句话说清
别被“开箱即用”四个字带偏——它不是点一下就自动训练完模型的魔法盒子,而是把所有容易卡住你的环节都提前铺平了路。我们先搞明白这个镜像里真正能用的东西:
- 核心运行环境已配好:Python 3.9.5 + PyTorch 1.10.0(CUDA 12.1加速)+ OpenCV等视觉库,不用再折腾版本冲突
- 代码和权重都放好了:基于Ultralytics官方8.4.2分支构建,预置
yolo26n-pose.pt和yolo26n.pt两个常用权重,直接调用不报错 - 路径和权限已理顺:默认工作区在
/root/workspace/,数据盘挂载就绪,复制、读写、保存全畅通
换句话说:你不需要懂conda怎么建环境、PyTorch怎么编译、CUDA驱动怎么匹配——这些事镜像已经替你做完。你只需要关心你想检测什么、用什么数据、结果要存哪儿。
2. 四步走通全流程:从启动到导出
整个过程分四步,每一步都对应一个明确动作、一行关键命令、一个可验证结果。跳过任何一步都可能卡在后续环节,所以请按顺序操作。
2.1 激活环境并切换到工作目录
镜像启动后,终端默认进入的是基础环境(torch25),但YOLO26依赖的包都在名为yolo的独立conda环境中。这一步必须做,否则运行会提示ModuleNotFoundError。
conda activate yolo接着,把预装的代码从系统盘复制到数据盘(避免重启后丢失修改):
cp -r /root/ultralytics-8.4.2 /root/workspace/最后进入代码目录,准备下一步操作:
cd /root/workspace/ultralytics-8.4.2验证方式:执行ls能看到ultralytics/、detect.py、train.py等文件,说明路径已正确切换。
2.2 用一张图跑通推理流程
推理是验证环境是否正常最快速的方式。我们用镜像自带的示例图片zidane.jpg来测试。
先创建一个简单的detect.py文件(可直接复制粘贴):
from ultralytics import YOLO if __name__ == '__main__': model = YOLO(model='yolo26n-pose.pt') model.predict( source='./ultralytics/assets/zidane.jpg', save=True, show=False )注意事项:
model=后面填的是权重文件名,不是路径。镜像已把权重放在当前目录,直接写文件名即可source=可以是单张图片路径、视频文件、摄像头编号(如0)、或图片文件夹路径save=True表示把画好框的结果图自动保存到runs/detect/predict/目录下show=False表示不弹窗显示(服务器无图形界面,设为False才不会报错)
运行命令:
python detect.py验证方式:几秒后查看runs/detect/predict/目录,应该能看到一张带检测框的新图片。终端也会输出类似Results saved to runs/detect/predict的提示。
2.3 训练自己的模型:改三处,跑一次
训练不是黑盒操作。YOLO26训练需要你明确告诉它三件事:用什么数据、怎么读数据、训练多久。对应修改三个地方即可。
第一步:准备数据集(YOLO格式)
你的数据集必须是标准YOLO格式:
- 图片放在
images/文件夹 - 标签放在
labels/文件夹(.txt文件,每行class_id center_x center_y width height,归一化坐标) - 目录结构示例:
my_dataset/ ├── images/ │ ├── train/ │ └── val/ ├── labels/ │ ├── train/ │ └── val/ └── data.yaml
第二步:配置data.yaml
在my_dataset/data.yaml中写入以下内容(按你实际路径修改):
train: ../my_dataset/images/train val: ../my_dataset/images/val nc: 2 # 类别数,比如人+车就是2 names: ['person', 'car'] # 类别名称,顺序必须和标签ID一致小技巧:把整个
my_dataset文件夹上传到/root/workspace/下,这样路径写起来更直观,不容易出错。
第三步:修改train.py
参考下面这个极简版训练脚本(删掉所有非必要参数,只留最关键的):
from ultralytics import YOLO if __name__ == '__main__': model = YOLO('ultralytics/cfg/models/26/yolo26.yaml') # 模型结构定义 model.train( data='my_dataset/data.yaml', # 数据配置文件路径 epochs=50, # 训练轮数,新手建议先试10-20轮 imgsz=640, # 输入图像尺寸 batch=64, # 每批处理图片数(根据显存调整) project='runs/train', # 结果保存根目录 name='my_exp' # 实验名称,生成runs/train/my_exp/ )运行命令:
python train.py验证方式:终端会实时打印loss曲线和mAP指标;训练结束后,runs/train/my_exp/weights/best.pt就是你训练好的模型。
2.4 导出模型:三种格式,按需选择
训练完的best.pt是Ultralytics专用格式,不能直接部署到边缘设备或C++项目中。你需要把它转成通用格式。YOLO26支持一键导出,只需加一行代码:
from ultralytics import YOLO model = YOLO('runs/train/my_exp/weights/best.pt') model.export(format='onnx') # 导出ONNX(推荐,兼容性最好) # model.export(format='torchscript') # 导出TorchScript # model.export(format='engine') # 导出TensorRT引擎(需额外安装)运行后会在同级目录生成best.onnx文件。
验证方式:检查文件大小是否大于10MB(太小说明导出失败),用Netron工具打开确认输入输出节点是否正常。
实用建议:
- ONNX适合部署到Windows/Linux服务器、安卓/iOS App、Web端(ONNX Runtime)
- 如果要做高吞吐推理(如视频流),再用TensorRT对ONNX二次优化
- 不建议直接用
.pt文件上线,体积大、加载慢、兼容性差
3. 预置资源在哪?怎么找?
镜像不是空壳,它把你能想到的“第一次用就要找”的东西都放好了位置,省去翻文档时间:
| 资源类型 | 存放路径 | 说明 |
|---|---|---|
| 官方代码 | /root/workspace/ultralytics-8.4.2/ | 主代码目录,含ultralytics/模块、detect.py、train.py等 |
| 预置权重 | /root/workspace/ultralytics-8.4.2/ | yolo26n.pt(通用检测)、yolo26n-pose.pt(姿态估计) |
| 模型配置 | /root/workspace/ultralytics-8.4.2/ultralytics/cfg/models/26/ | yolo26.yaml(网络结构定义)、yolo26n.yaml(轻量版) |
| 示例数据 | /root/workspace/ultralytics-8.4.2/ultralytics/assets/ | zidane.jpg、bus.jpg等测试图片 |
快速定位技巧:在终端输入
ls -l | grep yolo,一眼看到所有含yolo的文件和文件夹。
4. 常见问题直击:别再查文档,这里都有答案
这些问题不是“可能遇到”,而是90%用户在前30分钟一定会碰到的。我们按发生频率排序,给出最短解决方案。
4.1 “ModuleNotFoundError: No module named 'ultralytics'”
❌ 错误原因:没激活yolo环境,还在默认torch25环境里
解决方案:立即执行conda activate yolo,再运行脚本
4.2 “OSError: [Errno 121] Remote I/O error” 或训练卡住不动
❌ 错误原因:数据集路径写错,或者images/和labels/文件数量不一致
解决方案:
- 进入
my_dataset/目录,执行ls images/train/ \| wc -l和ls labels/train/ \| wc -l,两个数字必须相等 - 检查
data.yaml里的路径是否以../开头(因为训练脚本在ultralytics-8.4.2/目录下运行)
4.3 推理结果图没保存,或者保存的图是空白
❌ 错误原因:save=True写了,但没指定保存路径,或路径权限不足
解决方案:
- 在
model.predict()里加上project='runs/detect'和name='my_result',明确保存位置 - 确保
runs/目录存在且可写:mkdir -p runs/detect
4.4 Xftp下载慢,或者传不上去
❌ 错误原因:大文件直接拖拽未压缩,网络传输效率低
解决方案:
- 上传前先打包:
tar -czf my_dataset.tar.gz my_dataset/ - 下载时右键选择“下载”,不要双击(双击是打开,不是下载)
- 传输中右键任务 → “暂停/继续”可随时控制
5. 总结:你现在已经掌握的核心能力
这篇手册没教你YOLO26的网络结构有多深、损失函数怎么设计、注意力机制怎么加——那些是论文和源码的事。你现在真正拿到手的是可复现、可交付、可上线的工程能力:
- 环境零配置:
conda activate yolo之后,所有依赖自动就位 - 推理秒启动:改一行
source=路径,就能跑通任意图片/视频/摄像头 - 训练可掌控:改三处(数据路径、类别数、训练轮数),就能训出自己的模型
- 模型可导出:一行
model.export(),ONNX/TorchScript/Engine任选,无缝对接生产环境
下一步你可以:
→ 把公司监控视频喂给它,自动统计人流量
→ 给产线相机拍的零件图加检测,替代人工质检
→ 把训练好的best.onnx集成进手机App,现场拍照识别
技术的价值不在“会不会”,而在“能不能马上用起来”。你现在,已经可以了。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。