从零开始学YOLO26:官方镜像保姆级入门教程
你不需要懂CUDA版本兼容性,不用反复卸载重装PyTorch,也不用为ModuleNotFoundError: No module named 'torch._C'抓狂到凌晨三点——这是一份真正写给“第一次打开终端”的人的YOLO26入门指南。
它不讲论文、不推公式、不谈mAP计算原理。只做三件事:
让你5分钟内跑通第一张图片的检测结果
教你改3处代码就能用自己的数据集训练模型
告诉你训练完的模型文件在哪、怎么下载、怎么验证效果
全程在镜像里操作,所有依赖已预装,所有路径已验证,所有截图来自真实环境。现在,打开你的终端,我们开始。
1. 镜像启动后第一件事:别急着写代码,先认路
镜像启动成功后,你会看到一个干净的Linux终端界面。这不是裸机系统,而是一个开箱即用的YOLO26专用开发沙盒。它已经为你准备好了一切,但你需要知道“东西放在哪”、“该进哪个门”。
1.1 环境与目录结构速览
镜像默认使用Conda管理Python环境,核心信息如下:
| 项目 | 版本/说明 |
|---|---|
| Python | 3.9.5(稳定、兼容性强) |
| PyTorch | 1.10.0(专为YOLO26优化的版本) |
| CUDA | 12.1(驱动层已对齐,无需手动安装) |
| 主代码路径 | /root/ultralytics-8.4.2(原始只读代码) |
| 推荐工作区 | /root/workspace/ultralytics-8.4.2(你可自由修改) |
注意:原始代码在系统盘(
/root/ultralytics-8.4.2),但它是只读的。所有修改必须在/root/workspace/下进行,否则重启镜像后更改会丢失。
1.2 激活环境 + 复制代码到工作区(两步定乾坤)
在终端中依次执行以下两条命令(复制粘贴即可,无需理解原理):
conda activate yolo这条命令把你从默认的base环境切换到专为YOLO26配置的yolo环境。如果提示Command 'conda' not found,说明镜像未完全加载,请稍等10秒后重试。
接着,把原始代码完整复制到可写区域:
cp -r /root/ultralytics-8.4.2 /root/workspace/执行成功后,你会看到光标直接跳到下一行(无报错即成功)。
此时,/root/workspace/ultralytics-8.4.2就是你接下来所有操作的“主战场”。
最后进入该目录:
cd /root/workspace/ultralytics-8.4.2现在,你站在了YOLO26的家门口。门开着,钥匙在手里,我们进去。
2. 第一次推理:让YOLO26“看见”一张图
推理(inference)是验证环境是否正常、模型是否可用的最快方式。我们不用自己准备图片——镜像里自带测试图。
2.1 创建并编辑detect.py
在当前目录(/root/workspace/ultralytics-8.4.2)下,新建一个Python文件:
nano detect.py将以下内容完整粘贴进去(注意:是全部替换,不要保留nano默认内容):
# -*- coding: utf-8 -*- 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='yolo26n-pose.pt':这是镜像内置的轻量级姿态检测模型,已放在根目录,直接能用;source='./ultralytics/assets/zidane.jpg':这是Ultralytics官方提供的经典测试图(足球运动员Zidane),路径固定,不用找;save=True:把画好框的结果图自动保存到runs/detect/predict/文件夹;show=False:不弹窗显示(服务器环境无法图形化显示,设为False才不会报错)。
按Ctrl+O→ 回车(保存)→Ctrl+X(退出nano)。
2.2 运行!看结果
输入命令:
python detect.py你会看到终端快速滚动输出,类似这样:
Ultralytics 8.4.2 Python-3.9.5 torch-1.10.0+cu121 CUDA:0 (Tesla T4, 15109MiB) ... Results saved to runs/detect/predict成功标志:最后一行出现Results saved to runs/detect/predict
结果在哪:打开文件浏览器,进入runs/detect/predict/,找到zidane.jpg—— 它已被YOLO26自动标注出人体关键点和边界框。
小技巧:如果你用的是带图形界面的远程桌面(如VNC),可以双击打开这张图;如果只是SSH终端,用以下命令快速查看图片尺寸和基本信息:
identify runs/detect/predict/zidane.jpg
3. 用你自己的图片/视频做推理(3种场景全覆盖)
上面是“照着说明书走”,现在升级为“自己掌控”。只需改source=这一行,YOLO26就能处理你手头的任何视觉数据。
3.1 推理单张本地图片
把你的图片(比如mycar.jpg)上传到镜像的/root/workspace/目录下(可用Xftp拖拽),然后修改detect.py:
source='/root/workspace/mycar.jpg', # ← 改这里再运行python detect.py,结果会保存在runs/detect/predict/下同名文件。
3.2 推理整个文件夹里的所有图片
把一堆图放进/root/workspace/images/(提前建好),然后:
source='/root/workspace/images/', # 末尾加斜杠,表示文件夹运行后,runs/detect/predict/下会生成对应的所有标注图。
3.3 实时摄像头或视频流
- 调用本地摄像头(笔记本/USB摄像头):
source=0, # 数字0代表默认摄像头 - 推理MP4视频(上传
video.mp4到/root/workspace/):source='/root/workspace/video.mp4', - 推理RTSP网络流(如海康摄像头):
source='rtsp://admin:password@192.168.1.64:554/stream1',
所有场景都只需改
source=一个参数,其他保持不变。YOLO26会自动识别输入类型并启用对应逻辑。
4. 训练自己的模型:改3个地方,200轮训练就启动
训练(training)不是魔法。它只是让YOLO26“学习”你数据集里的目标长什么样。镜像已为你铺好路,你只需填3个空。
4.1 准备你的数据集(YOLO格式,5分钟搞定)
YOLO要求数据集按以下结构组织(严格大小写):
my_dataset/ ├── images/ │ ├── train/ │ └── val/ ├── labels/ │ ├── train/ │ └── val/ └── data.yamlimages/train/:存放训练用的JPG/PNG图片(至少50张)labels/train/:存放同名TXT标签文件(每张图一个TXT,内容是归一化坐标)data.yaml:告诉YOLO“你有多少类”“路径在哪”
小白友好做法:
用CVAT或LabelImg标注后,导出为YOLO格式,直接上传整个my_dataset文件夹到/root/workspace/即可。
4.2 编写data.yaml(抄这个模板就行)
在/root/workspace/下新建data.yaml,内容如下(根据你的实际类别修改):
train: ../my_dataset/images/train val: ../my_dataset/images/val nc: 2 # 类别数量(例如:person, car → 就是2) names: ['person', 'car'] # 类别名称,顺序必须和标签数字一致(0=person, 1=car)注意:train和val路径是相对于data.yaml自身位置的相对路径,所以写成../my_dataset/...才能正确指向你上传的文件夹。
4.3 创建train.py(核心:只改3处)
在/root/workspace/ultralytics-8.4.2目录下新建train.py:
nano train.py粘贴以下代码(已精简,仅保留必要参数):
from ultralytics import YOLO if __name__ == '__main__': model = YOLO('yolo26.yaml') # ← 1. 指向模型结构定义文件 model.train( data='/root/workspace/data.yaml', # ← 2. 指向你刚写的data.yaml epochs=200, # ← 3. 训练轮数(可调小试试,如50) imgsz=640, batch=128, device='0', project='/root/workspace/runs/train', name='my_exp' )3处必改项解释:
'yolo26.yaml':镜像内置的YOLO26网络结构配置,在ultralytics/cfg/models/26/下,路径已简化;data='/root/workspace/data.yaml':绝对路径,确保YOLO能找到你的数据集;epochs=200:新手建议先设为50,快速验证流程是否通,再调高。
保存退出(Ctrl+O→ 回车 →Ctrl+X)。
4.4 启动训练 & 实时看进度
运行命令:
python train.py你会看到实时日志滚动,类似:
Epoch GPU_mem box_loss cls_loss dfl_loss ... metrics/mAP50-95(B) ... 0/199 4.2G 1.2456 0.8765 1.0234 ... 0.1234 1/199 4.2G 1.1987 0.8210 0.9876 ... 0.1345训练中:所有日志和模型文件自动保存到/root/workspace/runs/train/my_exp/
中断恢复:下次运行时加resume=True参数即可从中断处继续
提示:训练过程会自动生成
results.png(loss曲线)、confusion_matrix.png(混淆矩阵),都在my_exp/文件夹里,双击即可查看。
5. 训练完的模型在哪?怎么用?怎么下载?
训练结束 ≠ 任务完成。你真正需要的是那个.pt文件——它就是你亲手训练出来的“AI眼睛”。
5.1 模型文件位置(记住这个路径)
训练完成后,模型权重保存在:
/root/workspace/runs/train/my_exp/weights/best.ptbest.pt:验证集mAP最高的模型(推荐用于部署)last.pt:最后一轮保存的模型(可用于继续训练)
5.2 本地验证:用你刚训的模型再跑一遍推理
修改detect.py,把模型路径换成你自己的:
model = YOLO('/root/workspace/runs/train/my_exp/weights/best.pt')再运行python detect.py,就能看到你的模型在测试图上的表现。
5.3 下载到本地电脑(Xftp操作指南)
- 打开Xftp,连接镜像服务器(IP、端口、账号密码同登录终端一致);
- 左侧是你的本地电脑,右侧是镜像服务器;
- 在右侧导航栏,依次打开:
root→workspace→runs→train→my_exp→weights; - 鼠标双击
best.pt文件 → 自动开始下载到左侧本地文件夹; - 下载完成后,你就可以在本地用
YOLO('best.pt').predict(...)调用它了。
小技巧:如果模型文件大(>100MB),右键点击
weights文件夹 → “压缩” → 生成weights.zip→ 再双击下载,速度更快。
6. 镜像内置资源一览:你已拥有的“武器库”
这个镜像不是空白容器,而是一个装满工具的AI军火库。以下是已预置、开箱即用的关键资源:
| 资源类型 | 位置 | 说明 |
|---|---|---|
| 预训练权重 | /root/workspace/根目录 | yolo26n.pt,yolo26n-pose.pt,yolo26s.pt等,直接可用 |
| 模型配置文件 | ultralytics/cfg/models/26/ | yolo26.yaml,yolo26-pose.yaml,定义网络结构 |
| 测试图片集 | ultralytics/assets/ | zidane.jpg,bus.jpg,dog.jpg等10+张标准测试图 |
| 评估脚本 | ultralytics/utils/ | metrics.py,plots.py,支持mAP、PR曲线等分析 |
| 导出工具 | model.export()方法 | 一键导出ONNX、TensorRT、CoreML等格式,无缝对接部署 |
你不需要搜索、下载、解压、校验——它们就在那里,路径固定,版本匹配,随时待命。
7. 新手最常踩的3个坑及解决方案
基于上百次真实用户反馈,我们整理出新手前三高频问题,附带“一句话解决法”。
7.1 问题:运行python detect.py报错ModuleNotFoundError: No module named 'ultralytics'
原因:没激活yolo环境
解决:先执行conda activate yolo,再运行python命令
7.2 问题:训练时报错OSError: image file is truncated或cannot identify image file
原因:数据集里有损坏图片(常见于上传中断)
解决:在/root/workspace/my_dataset/images/train/下运行:
find . -name "*.jpg" -exec file {} \; | grep "broken" | cut -d: -f1 | xargs rm -f(该命令自动删除所有损坏JPG)
7.3 问题:训练时GPU显存爆满(OOM),报错CUDA out of memory
原因:batch size太大,或图片分辨率太高
解决:在train.py的model.train()中,把batch=128改成batch=64或32,同时把imgsz=640改成imgsz=480,再试。
进阶提示:想查当前GPU占用,随时敲
nvidia-smi,一眼看清显存和进程。
8. 下一步:从入门到实用的3个行动建议
你现在已具备独立运行YOLO26的能力。接下来,按优先级推进这三步,把技术真正变成生产力:
8.1 今天就做:用手机拍5张图,标注后训练一个“识别水杯”的小模型
- 工具:手机拍照 → Roboflow 免费在线标注 → 导出YOLO格式 → 上传训练
- 目标:2小时内看到
best.pt生成,并在自己照片上准确框出水杯
8.2 本周目标:把训练好的模型导出为ONNX,在Python脚本中脱离YOLO环境调用
- 只需一行代码:
model.export(format='onnx', dynamic=True, opset=12) - 导出后,用标准ONNX Runtime即可推理,不再依赖Ultralytics库
8.3 长期习惯:每次训练前,把data.yaml和train.py备份到本地Git仓库
- 命令示例:
cd /root/workspace/ git init && git add data.yaml train.py && git commit -m "v1-cup-detection" - 这样你永远知道“哪个版本的参数,对应哪个mAP结果”,告别“上次那个好模型去哪了”的焦虑
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。