小白也能懂的YOLO11教程,从0开始训练模型
本文面向零基础用户,不讲公式、不堆术语,只说“你点哪里、输什么、等多久、看到什么”。所有操作均可在YOLO11镜像中直接复现,无需配置环境、不装依赖、不改代码。
1. 先搞清楚:YOLO11到底能帮你做什么?
别被名字吓住——YOLO11不是“第11代YOLO”,而是Ultralytics为统一多任务视觉能力推出的新一代开箱即用模型系列。它不像以前那样要换模型、改代码、调参数才能做检测/分割/分类;现在一个命令,就能让同一套代码干六件事:
- 找东西(目标检测):框出图里所有猫、车、人
- 抠个体(实例分割):把每只猫单独切出来,带透明背景
- 认整张图(图像分类):判断这张图是“街景”还是“室内”
- 识动作姿态(关键点估计):标出人的肩膀、手肘、膝盖在哪
- 抓斜着的物体(旋转框检测):精准框住倾斜的车牌、无人机、货架商品
- 跟住移动目标(目标跟踪):视频里持续标记同一个快递员,不丢不串
你不需要成为算法工程师,只要会打开网页、会复制粘贴、会看图说话,就能跑通整个流程。下面我们就从镜像启动那一刻开始,手把手带你训出第一个能识别自家阳台盆栽的模型。
2. 启动镜像后,第一件事:进对目录、认对文件
YOLO11镜像已预装完整环境,包含Jupyter Lab、SSH终端、训练脚本和示例数据。你只需三步定位核心位置:
2.1 打开Jupyter Lab(推荐新手首选)
- 镜像启动后,浏览器自动跳转到Jupyter界面(地址类似
http://localhost:8888) - 点击左侧文件列表,找到名为
ultralytics-8.3.9/的文件夹 → 双击进入 - 里面你会看到这些关键文件(不用记名字,看图标+文字就能认):
train.py:训练主程序(蓝色Python图标)detect.py:检测已有图片/视频(绿色Python图标)segment/文件夹:放分割任务相关配置pose/文件夹:放姿态估计配置data/文件夹:你的数据就放这里(后面细说)
小技巧:Jupyter里右键点击
.py文件 → “Edit” → 就能直接在线修改代码,改完点右上角“Save”,不用关重启。
2.2 或者用SSH终端(适合习惯命令行的用户)
- 在镜像控制台点击“SSH连接”,复制弹出的命令(形如
ssh -p 2222 user@127.0.0.1) - 粘贴到本地终端运行,输入密码(默认
user) - 进入项目目录:
cd ultralytics-8.3.9/- 查看当前结构(确认没走错):
ls -l你应该看到train.py,detect.py,ultralytics/,data/等——这就对了。
3. 训练前必做:准备你的第一份数据(5分钟搞定)
YOLO11不强制要求你标注上千张图。我们用最轻量的方式起步:只标3张图,训一个能识别“绿萝”和“吊兰”的小模型。
3.1 数据怎么放?记住这个固定路径
所有自定义数据必须放在:
ultralytics-8.3.9/data/my_plants/里面再建两个子文件夹:
images/→ 放你拍的绿萝、吊兰照片(建议JPG格式,尺寸不限)labels/→ 放对应标注文件(每个图一个TXT,内容是坐标,后面生成)
3.2 标注不用手写!用X-AnyLabeling一键导出(镜像已预装)
- 在Jupyter左侧,找到并双击打开
X-AnyLabeling_v2.4.4/文件夹 - 双击
run.bat(Windows)或run.sh(Linux/macOS)→ 自动启动标注工具 - 操作三步:
- 点左上角【File】→【Open Dir】→ 选择你存照片的文件夹(比如
data/my_plants/images/) - 点右上角【Model】→【Load YOLO11n】→ 加载轻量模型辅助标注(自动框出植物轮廓,你只需微调+打标签)
- 给每张图框出绿萝/吊兰 → 左侧标签栏选“green_luoluo”或“diao_lan” → 点【Export】→ 选择YOLO格式 → 自动在
labels/生成同名TXT
- 点左上角【File】→【Open Dir】→ 选择你存照片的文件夹(比如
效果:3张图,5分钟内完成标注。生成的
labels/xxx.txt内容长这样(你完全不用看懂,YOLO11自己会读):0 0.452 0.613 0.210 0.385 1 0.782 0.321 0.185 0.292第一列0/1就是“绿萝”和“吊兰”的编号,后面是归一化坐标。
4. 开始训练:一行命令,全程可视化
一切就绪,回到Jupyter或SSH终端,执行这一行命令:
python train.py \ --data data/my_plants/data.yaml \ --cfg models/yolo11n.yaml \ --weights '' \ --epochs 50 \ --batch 8 \ --name my_plants_exp4.1 参数都是大白话,解释给你听
| 参数 | 实际意思 | 为什么这么设 |
|---|---|---|
--data | 告诉YOLO11:“你的数据在哪?标签叫啥?” | data.yaml是你数据的说明书(下节教你30秒写完) |
--cfg | 用哪个模型结构?选小的更快 | yolo11n.yaml是最轻量版,适合笔记本/入门训练 |
--weights '' | 从头开始训,不加载预训练权重 | 新手练手感,避免黑盒干扰 |
--epochs 50 | 让模型看50轮全部数据 | 少于30轮学不熟,多于100轮易过拟合 |
--batch 8 | 一次喂8张图给GPU | 显存小就设4,显存大可设16,不报错就行 |
--name | 给这次训练起个名字 | 方便后续找结果,比如my_plants_exp |
4.2data.yaml怎么写?抄这5行就够了
在data/my_plants/目录下新建文件data.yaml,内容如下(替换为你自己的类别名):
train: ../images val: ../images nc: 2 names: ['green_luoluo', 'diao_lan']train/val:都指向images/文件夹(小数据集可训练验证混用)nc: 2:你只有2个类别(绿萝、吊兰)names::类别名必须和标注时打的标签完全一致(区分大小写、下划线)
注意:YAML对空格敏感!冒号后必须加一个空格,
names下的每个类别前必须有-(短横+空格)。
5. 训练过程怎么看?三个关键窗口盯住就行
运行命令后,终端会滚动输出日志。重点关注这三个信息:
5.1 启动成功标志(10秒内出现)
Engine started training for 50 epochs... Using 1 GPU(s) Starting training for 50 epochs...→ 说明已加载数据、分配显存、开始迭代。
5.2 每轮进度(看Epoch行)
Epoch GPU_mem box_loss cls_loss dfl_loss Instances Size 1/50 2.1G 0.8212 0.4567 0.3210 128 640box_loss:框得准不准(越小越好,初期1.x,后期<0.3)cls_loss:分得清不清(越小越好,初期0.5,后期<0.1)Instances:本轮参与训练的物体总数(确保不是0)
5.3 训练结束提示(约15-30分钟)
Results saved to runs/train/my_plants_exp→ 所有结果都在这个文件夹里,包括模型、图表、预测样例。
6. 看效果:3秒验证你的模型有没有学会
训练完,立刻用一张新图测试:
python detect.py \ --source data/my_plants/images/test.jpg \ --weights runs/train/my_plants_exp/weights/best.pt \ --conf 0.25 \ --save-txt \ --save-conf--source:指定测试图路径--weights:指向刚训好的最佳模型(best.pt)--conf 0.25:只显示置信度>25%的结果(避免杂乱小框)--save-txt:保存检测结果坐标到TXT--save-conf:在图上标出置信度数值
运行后,结果图自动保存在runs/detect/exp/,打开就能看到:
绿萝被蓝框圈出,旁边标着green_luoluo 0.87
吊兰被红框圈出,旁边标着diao_lan 0.92
→ 恭喜!你的第一个YOLO11模型已诞生。
7. 进阶提示:让效果更好,其实很简单
训完发现框不准?分类总混淆?别调学习率、别改网络——先试试这三招:
7.1 数据增强:加两行,效果翻倍
打开train.py,找到data_dict = load_dataset(...)上方,插入:
# 在数据加载后添加增强(原文件无此行,手动加) data_dict['augment'] = True data_dict['degrees'] = 10.0 # 图片随机旋转±10度 data_dict['translate'] = 0.1 # 随机平移10% data_dict['scale'] = 0.2 # 随机缩放±20%再重新运行train.py,模型立马更鲁棒。
7.2 调低置信度阈值:找回漏检目标
如果图里明显有绿萝但没框出来,把检测命令里的--conf 0.25改成--conf 0.15,再跑一次。
7.3 换个模型结构:速度/精度自由切换
- 想快一点?把
--cfg models/yolo11n.yaml换成yolo11s.yaml(稍慢但更准) - 想更准?换成
yolo11m.yaml(需更多显存,但mAP提升明显) - 不确定选哪个?先用
n版训通流程,再换s/m重训。
8. 常见问题:新手卡住时,看这里
❓报错
No module named 'ultralytics'
→ 你没进对目录!确保cd ultralytics-8.3.9/后再运行命令。❓报错
FileNotFoundError: data/my_plants/data.yaml
→ 检查data.yaml是否真在data/my_plants/下,且文件名是全小写data.yaml(不是DATA.YAML或data.yml)。❓训练中途卡住不动,GPU显存占满但没日志
→batch设太大了。改成--batch 4或--batch 2重试。❓检测图上全是密密麻麻小框
→--conf值太小,提高到0.4或0.5。❓标注工具打完标签,
labels/里没生成TXT
→ 检查是否点了【Export】→ 选了“YOLO”格式 → 保存路径是否选对(必须是data/my_plants/labels/)。
9. 总结:你已经掌握了YOLO11训练的核心闭环
回顾一下,你实际只做了这几件事:
1⃣ 打开镜像 → 进入ultralytics-8.3.9/目录
2⃣ 拍3张植物照 → 用X-AnyLabeling标好 → 自动生成images/和labels/
3⃣ 写5行data.yaml→ 运行1行train.py→ 等15分钟
4⃣ 用detect.py测试 → 看到框和标签 → 成功!
这背后没有玄学,没有必须背的公式,没有必须调的超参。YOLO11的设计哲学就是:把工程细节藏好,把操作路径铺平,让想法到效果的距离,只剩一次回车。
下一步你可以:
→ 把照片换成你公司的产品图,训一个质检模型
→ 用手机拍10张办公室照片,训一个工位占用检测器
→ 把data.yaml里的nc: 2改成nc: 5,再标3个新类别,继续训
技术不难,动手就行。
获取更多AI镜像
想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。