news 2026/5/6 11:30:53

YOLO11项目目录结构说明,一看就懂

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
YOLO11项目目录结构说明,一看就懂

YOLO11项目目录结构说明,一看就懂

你刚拉起YOLO11镜像,打开终端,输入ls却看到满屏文件夹——ultralytics/datasets/runs/weights/train.py……它们各自负责什么?哪个该放图片、哪个该改参数、哪个动了会训练失败?别急,这篇文章不讲原理、不堆代码,只用一张清晰的“项目地图”,带你3分钟理清YOLO11镜像里每个关键目录的真实作用。无论你是第一次跑通模型的新手,还是想快速上手自定义训练的开发者,读完就能准确找到该去哪改、该往哪放、该看哪份日志。

1. 整体结构概览:四个核心区域

YOLO11镜像不是杂乱无章的文件堆砌,而是围绕“开发—数据—训练—产出”四条主线组织的。整个项目根目录(即你执行cd ultralytics-8.3.9/后进入的位置)可划分为四大功能区:

  • 代码核心区ultralytics/—— 模型骨架与所有算法逻辑所在,不建议直接修改
  • 数据准备区datasets/—— 你自己的图片、标签、配置文件的“家”,唯一需要你动手填充的地方
  • 运行产出区runs/—— 训练过程中的日志、图表、权重自动保存地,只读不写
  • 资源管理区weights/+train.py/infer.py—— 预训练模型存放点 + 你写的启动脚本,是连接数据与代码的“开关”

这四个区域各司其职,互不越界。理解它们的边界,你就掌握了YOLO11项目的底层秩序。

2. 代码核心区:ultralytics/—— 模型的“心脏”,保持原样就好

2.1 它是什么?

ultralytics/是 Ultralytics 官方维护的 Python 包源码目录,完整包含了 YOLO11 的所有模型定义、训练循环、推理引擎、数据加载器和评估模块。它不是你写的脚本,而是你调用的“工具箱”。

2.2 里面有什么?(精简版,只列关键)

ultralytics/ ├── __init__.py # 包入口,让你能 from ultralytics import YOLO ├── engine/ # 核心训练/验证/推理逻辑(train.py, val.py, predict.py) ├── models/ # 模型结构定义(含 yolo11-seg.yaml 等配置模板) │ └── v8/ # (注意:YOLO11 实际沿用 v8 目录结构,兼容性设计) │ └── cfg/ # 所有 .yaml 配置文件的集中地(重点!) │ ├── models/ # 模型结构配置(如 yolo11m-seg.yaml) │ └── datasets/ # 数据集配置模板(如 coco128.yaml) ├── utils/ # 工具函数(日志、绘图、指标计算等) └── cfg/ # 全局默认配置(如 default.yaml,一般无需改动)

2.3 你该怎么做?

  • 可以查看:比如想确认某个参数默认值,直接打开ultralytics/cfg/default.yaml
  • 可以引用:在train.pyfrom ultralytics import YOLO就是调用这里
  • 不要修改:除非你是在做深度二次开发(如重写 backbone),否则不要碰engine/models/下的.py文件
  • 重点留意cfg/子目录models/11/下的yolo11-seg.yaml是你定制模型结构的唯一入口;datasets/下的.yaml是你定义自己数据路径的必改项——它们是“配置”,不是“代码”,安全可改

一句话记住ultralytics/是你信赖的“黑盒引擎”,你只负责给它喂数据、设参数、按开关,不用拆开修理。

3. 数据准备区:datasets/—— 你掌控的“唯一战场”

3.1 它为什么重要?

YOLO11 不认识你的图片,也不懂你的业务类别。datasets/就是你向模型“自我介绍”的地方:告诉它“我的图在哪”、“我的类叫什么”、“我的标签长啥样”。这里填错,后面全白忙。

3.2 标准目录结构(以实例分割为例)

假设你要训练一个“点餐场景中的人与餐盘”分割模型,推荐这样组织:

datasets/ └── seg_point_offer_20240930/ # 你的数据集根目录(名字自定,但要和 yaml 里一致) ├── train/ # 训练集 │ ├── images/ # 所有训练图片(.jpg/.png) │ └── labels/ # 对应的 YOLO 分割标签(.txt,每张图一个) ├── val/ # 验证集(结构同 train) │ ├── images/ │ └── labels/ └── test/ # (可选)测试集 ├── images/ └── labels/

3.3 关键配套文件:point-offer-seg.yaml

这个 YAML 文件必须放在ultralytics/cfg/datasets/下(或你train.py同级目录),内容示例:

# Ultralytics YOLO path: ./datasets/seg_point_offer_20240930 # ← 必须指向上面创建的根目录!路径错误是新手最高频报错 train: train/images # ← 相对于 path 的子路径 val: val/images test: test/images # ← 可选,用于最终评估 # 类别名称(顺序必须和 labelme json 转 txt 时的映射完全一致!) names: 0: person 1: tray 2: food

3.4 你该怎么做?

  • 严格按结构放图和标签:图片进images/,生成的.txtlabels/,文件名必须一一对应(abc.jpgabc.txt
  • YAML 中path写相对路径:从train.py所在位置出发算,./datasets/xxx最安全
  • names顺序=类别ID顺序label_to_class_id = {"person": 0, "tray": 1}必须和 YAML 里0: person, 1: tray完全一致
  • 不要把图片直接丢进datasets/根目录:必须套一层your_dataset_name/,否则 YAML 无法定位

避坑提示:训练时报错No images foundNo labels found,90% 是因为path写错,或images/labels/没放在train/val/下。

4. 运行产出区:runs/—— 模型的“成长日记本”

4.1 它自动产生什么?

每次你运行python train.py,YOLO11 就会在runs/下自动生成全新子目录,记录一切:

runs/ └── segment/ # 任务类型(detect/segment/pose/obb) └── train2/ # 自动编号,第2次训练(train1, train2...) ├── weights/ # 训练出的模型文件 │ ├── last.pt # 最后一轮权重(含优化器状态,可 resume) │ └── best.pt # 验证指标最优的权重(推理用这个!) ├── results.csv # 每轮 loss/mAP 等数值,可用 Excel 打开 ├── results.png # 自动生成的训练曲线图(loss、P、R、mAP) ├── train_batch0.jpg # 第0批训练数据增强效果预览 ├── val_batch0_pred.jpg # 验证集首张图预测效果(带框+掩膜) └── args.yaml # 本次训练所有参数快照(复现实验的依据)

4.2 你该怎么做?

  • 定期检查results.png:一眼看出训练是否收敛、有无过拟合(val loss 上升)
  • best.pt做推理model = YOLO("runs/segment/train2/weights/best.pt")
  • 保留args.yaml:它记录了你实际用了哪些参数,比train.py里的字典更真实
  • 不要手动删除runs/下的旧目录:除非磁盘告急,否则留着它是你实验的完整证据链
  • last.ptbest.ptlast.pt是训练终点,best.pt是验证集表现顶峰——后者才是部署首选

效率技巧:想快速对比两次训练?直接打开两个results.png并排看曲线,比读日志快十倍。

5. 资源管理区:weights/train.py—— 你的“控制台”

5.1weights/:预训练模型的保险柜

这个目录专放.pt权重文件,YOLO11 官方提供多种尺寸和任务的预训练模型:

  • yolo11n-seg.pt:轻量级,适合边缘设备
  • yolo11m-seg.pt:平衡型,本文示例默认使用
  • yolo11x-seg.pt:高精度,需大显存

你只需做两件事

  1. 把下载好的.pt文件放进weights/
  2. train.py中写明路径:model = YOLO("yolo11m-seg.yaml").load("weights/yolo11m-seg.pt")

注意.yaml(结构)和.pt(权重)必须匹配!yolo11m-seg.yaml+yolo11m-seg.pt是黄金组合。

5.2train.py:你写的“一键启动脚本”

这是你和 YOLO11 交互的唯一接口文件,位于项目根目录(与ultralytics/同级)。它的核心就三行:

from ultralytics import YOLO # 1. 加载结构 + 权重 model = YOLO("yolo11m-seg.yaml").load("weights/yolo11m-seg.pt") # 2. 定义所有参数(数据路径、轮数、图像大小等) train_params = { 'data': "point-offer-seg.yaml", # ← 指向你放在 cfg/datasets/ 下的 yaml 'epochs': 30, 'imgsz': 640, 'batch': 8, # ... 其他100+参数(按需开启) } # 3. 开始训练 results = model.train(**train_params)

你该关注的只有三个变量

  • 'data':必须是你自己写的 YAML 文件名(不含路径,因它默认在ultralytics/cfg/datasets/下找)
  • 'epochs'/'imgsz'/'batch':最常调整的三大参数,直接影响训练速度和效果
  • model.train():这一行执行后,所有日志、图表、权重自动出现在runs/

新手第一课:先不改任何参数,确保train.py能跑通,再逐步调整'epochs''batch'。稳定压倒一切。

6. 其他辅助目录:docker/examples/tests/—— 可忽略,但要知道它们存在

  • docker/:镜像构建用的 Dockerfile 和配置,你用现成镜像就不用管
  • examples/:官方提供的 Jupyter Notebook 示例(如detect.ipynb),适合快速试效果
  • tests/:单元测试代码,验证框架功能,开发者调试用,你无需触碰
  • docs/:API 文档源码,生成后的文档在 docs.ultralytics.com
  • runs/detect/runs/pose/:其他任务类型的产出目录,和runs/segment/平级,互不干扰

这些目录的存在,说明这个镜像是一个完整的、可扩展的开发环境,而不仅是一个“能跑的 demo”。你用不到它们,但知道它们在哪,会让你面对新需求时更有底气。

7. 总结:一张表,锁定所有关键路径

功能目录路径你能做什么绝对不能做什么
模型结构ultralytics/cfg/models/11/yolo11-seg.yaml修改 backbone/head 参数、调整层数修改ultralytics/models/下的.py文件
数据配置ultralytics/cfg/datasets/point-offer-seg.yamlpathtrainvalnames把图片直接放datasets/根目录
你的数据datasets/seg_point_offer_20240930/train/images/train/labels/labels/里放.json.xml
预训练模型weights/yolo11m-seg.pt下载后复制进来yolo11n.yaml+yolo11m.pt混搭
训练脚本train.py(根目录)修改dataepochsbatch等参数删除from ultralytics import YOLO
训练结果runs/segment/train2/results.png、取best.pt、看args.yaml手动修改weights/last.pt的内容

这张表就是你在YOLO11镜像里的“导航仪”。下次遇到问题,先问自己:这个问题属于哪一类?然后直奔对应目录,90% 的困惑都能迎刃而解。


获取更多AI镜像

想探索更多AI镜像和应用场景?访问 CSDN星图镜像广场,提供丰富的预置镜像,覆盖大模型推理、图像生成、视频生成、模型微调等多个领域,支持一键部署。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/1 13:54:10

AI编程工具额度重置完全指南:高效突破Cursor Pro限制的技术方案

AI编程工具额度重置完全指南:高效突破Cursor Pro限制的技术方案 【免费下载链接】cursor-free-everyday 完全免费, 自动获取新账号,一键重置新额度, 解决机器码问题, 自动满额度 项目地址: https://gitcode.com/gh_mirrors/cu/cursor-free-everyday 在AI驱动…

作者头像 李华
网站建设 2026/5/1 8:49:33

5步打造你的私人数字书房:小说下载工具实用指南

5步打造你的私人数字书房:小说下载工具实用指南 【免费下载链接】novel-downloader 一个可扩展的通用型小说下载器。 项目地址: https://gitcode.com/gh_mirrors/no/novel-downloader 一、为什么需要专属小说收藏方案? 你是否遇到过这些困扰&…

作者头像 李华
网站建设 2026/5/3 10:38:41

破解Windows任务栏美学密码:TranslucentTB完全掌控指南

破解Windows任务栏美学密码:TranslucentTB完全掌控指南 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB Windows任务栏作为桌面…

作者头像 李华
网站建设 2026/5/5 9:29:13

用Z-Image-Turbo_UI界面做了个海报设计,附全过程

用Z-Image-Turbo_UI界面做了个海报设计,附全过程 1. 这不是又一个“点点点”教程,而是真能做出商用级海报的实操记录 你有没有过这样的经历:老板突然发来一条消息,“下午三点前要一张新品海报,风格要年轻有活力&…

作者头像 李华
网站建设 2026/5/5 11:01:23

木马病毒:数字时代的“特洛伊刺客”与全面防御指南

在数字时代,木马病毒已成为网络安全的首要威胁之一。这种以古希腊“特洛伊木马”故事命名的恶意软件,正像古代的刺客一样,悄无声息地潜入我们的计算机系统,造成巨大破坏。本文将全面解析木马病毒的演变历程、技术架构、危害方式以…

作者头像 李华
网站建设 2026/5/3 7:36:41

3步提升游戏体验:智能辅助工具让你秒变电竞高手

3步提升游戏体验:智能辅助工具让你秒变电竞高手 【免费下载链接】champ-r 🐶 Yet another League of Legends helper 项目地址: https://gitcode.com/gh_mirrors/ch/champ-r 你是否也曾在《英雄联盟》中遭遇这样的困境:版本更新后面对…

作者头像 李华