Skip to content
lw-byte edited this page May 24, 2026 · 1 revision

Ultralytics YOLO 代码结构详解

版本: 8.3.202 | 许可证: AGPL-3.0 | Python >= 3.8 | PyTorch >= 1.8.0


目录


一、项目顶层结构

ultralytics-main/
├── .github/                  # GitHub Actions CI/CD 工作流
├── datasets/                 # 用户数据集目录
├── docker/                   # Docker 容器化部署配置
├── docs/                     # MkDocs 文档源码
├── examples/                 # 示例代码和 Jupyter Notebook 教程
├── runs/                     # 训练输出默认存储目录
├── tests/                    # pytest 测试套件
├── ultralytics/              # ★ 核心源代码包 ★
├── pyproject.toml            # 项目构建/打包配置(入口点定义)
├── mkdocs.yml                # MkDocs 文档构建配置
├── README.md / README.zh-CN.md
├── LICENSE                   # AGPL-3.0
└── yolo11n.pt                # 预训练权重文件示例
文件/目录 用途
pyproject.toml 定义包元数据、依赖、CLI 入口点 (yolo 命令)
ultralytics/ 全部核心 Python 源码
tests/ 完整的 pytest 测试套件
docker/ CPU/GPU Dockerfile
examples/ 使用教程与示例

二、核心源码 ultralytics/

ultralytics/
├── __init__.py               # 包初始化,版本号,暴露 YOLO/SAM 等类
├── cfg/                      # 配置系统
├── data/                     # 数据处理
├── engine/                   # 引擎(训练/预测/验证/导出)
├── models/                   # 模型定义(YOLO/SAM/FastSAM/RT-DETR/NAS)
├── nn/                       # 神经网络原语(卷积块、注意力、检测头等)
├── trackers/                 # 目标跟踪算法(ByteTrack/BOT-SORT)
├── hub/                      # Ultralytics Hub 云服务集成
├── solutions/                # 预置解决方案(计数/热力图/队列管理等)
└── utils/                    # 通用工具(日志/指标/绘图/NMS/回调等)

2.1 cfg/ — 配置系统

入口: cfg/__init__.py (39 KB, ~1033 行)

cfg/
├── __init__.py               # CLI entrypoint(), TASKS/MODES 定义, 配置加载
├── default.yaml              # 全局默认超参数配置 (131行)
├── datasets/                 # 数据集 YAML 配置 (~35个)
│   ├── coco.yaml / coco128.yaml / coco8.yaml
│   ├── coco8-seg.yaml / coco8-pose.yaml / dota8.yaml
│   ├── ImageNet.yaml / VOC.yaml / VisDrone.yaml
│   └── ... (更多公开数据集)
├── models/                   # 模型架构 YAML 配置 (~60个)
│   ├── 11/                   # YOLO11 系列: yolo11.yaml, yolo11-seg, yolo11-pose, yolo11-obb, yolo11-cls, yoloe-11*
│   ├── v8/                   # YOLOv8 系列: yolov8*, yolov8-world, yolov8-rtdetr, yoloe-v8*
│   ├── v10/                  # YOLOv10 系列: yolov10{n,s,m,l,x}
│   ├── v9/                   # YOLOv9 系列
│   ├── v12/                  # YOLO12 系列
│   ├── v5/                   # YOLOv5 系列 (兼容)
│   ├── v3/                   # YOLOv3 系列 (兼容)
│   ├── v6/                   # YOLOv6 系列 (兼容)
│   └── rt-detr/              # RT-DETR: rtdetr-{l,x,resnet50,resnet101}
└── trackers/                 # 跟踪器配置
    ├── bytetrack.yaml
    └── botsort.yaml

核心常量:

MODES = {"train", "val", "predict", "export", "track", "benchmark"}
TASKS = {"detect", "segment", "classify", "pose", "obb"}
映射字典 用途
TASK2DATA 任务 → 默认数据集配置
TASK2MODEL 任务 → 默认模型权重
TASK2METRIC 任务 → 主要评估指标
SOLUTION_MAP 解决方案名称 → 类名映射

关键函数:

  • entrypoint(debug="") — CLI 主入口,解析 yolo 命令行调用
  • get_cfg(cfg, args) — 合并默认配置与用户参数

2.2 engine/ — 引擎模块(核心执行流程)

engine/
├── __init__.py
├── model.py                  # Model 统一 API 类 (52KB) ★ 核心入口 ★
├── trainer.py                # BaseTrainer 训练器基类 (40KB)
├── predictor.py              # BasePredictor 预测器基类 (22KB)
├── validator.py              # BaseValidator 验证器基类 (16KB)
├── exporter.py               # Exporter 模型导出器 (67KB) — ONNX/TensorRT/CoreML/TF等
├── tuner.py                  # Tuner 超参数调优 (21KB)
└── results.py                # Results 预测结果封装类 (69KB)

Model 类 (engine/model.py)

所有模型的统一 API 入口,提供:

方法 说明
Model.train() 启动训练,委托给对应任务的 Trainer
Model.predict() 执行推理,委托给 Predictor
Model.val() 运行验证,委托给 Validator
Model.export() 导出模型格式,委托给 Exporter
Model.track() 目标跟踪(封装 predict + tracker)
Model.benchmark() 性能基准测试

使用方式:

from ultralytics import YOLO
model = YOLO("yolo11n.pt")       # 加载模型
model.train(data="coco8.yaml", epochs=100)  # 训练
results = model.predict(source="image.jpg")  # 预测

BaseTrainer (engine/trainer.py)

训练流程控制:

  • 初始化: 设备选择 / DDP 分布式 / 数据加载器构建
  • 训练循环: 前向传播 → 损失计算 → 反向传播 → 优化器步骤 → 学习率调度
  • 回调系统: 训练中触发 callbacks(TensorBoard/HUB/MLflow 等)
  • 验证: 每 epoch 自动运行验证
  • 保存: 最佳模型 / 最后 checkpoint / epoch 周期保存
  • 关键方法: train(), _setup_train(), _do_train(), _validate(), save_model()`

BasePredictor (engine/predictor.py)

推理流程控制:

  • 源加载: 图像/视频/流/摄像头等多种输入源
  • 预处理: 尺寸调整 / 归一化 / 批处理
  • 推理: 模型前向传播
  • 后处理: NMS / 置信度过滤 / 结果封装
  • 输出: Results 对象 / 可视化显示 / 保存文件
  • 关键方法: preprocess(), inference(), postprocess(), write_results()

Exporter (engine/exporter.py)

支持的导出格式(10+ 种):

格式 后缀 说明
ONNX .onnx 通用开放格式
OpenVINO .xml/.bin Intel 推理优化
TensorRT .engine NVIDIA GPU 加速
CoreML .mlpackage Apple 设备原生
TFLite .tflite 移动端/边缘设备
TF SavedModel _saved_model TensorFlow 服务端
TF GraphDef .pb TensorFlow frozen graph
TF Edge TPU _edgetpu.tflite Google Coral
NCNN .ncnnparam 移动端高性能
PaddlePaddle _paddle 百度框架
RKNN .rknn 瑞芯微 NPU
IMX500 .imx Sony IMX500 系列
MPCT .mpct MediaTek GenAI

2.3 models/ — 模型定义

models/
├── __init__.py               # 导出: YOLO, SAM, FastSAM, NAS, RTDETR
├── yolo/                      # YOLO 模型系列 ★ 最主要 ★
│   ├── model.py               # YOLO Model 类 (继承 engine.Model)
│   ├── detect/                # 目标检测任务
│   │   ├── predict.py         # DetectionPredictor
│   │   ├── train.py           # DetectionTrainer
│   │   └── val.py             # DetectionValidator
│   ├── segment/               # 实例分割任务
│   │   ├── predict.py / train.py / val.py
│   ├── classify/              # 图像分类任务
│   │   ├── predict.py / train.py / val.py
│   ├── pose/                  # 姿态估计任务
│   │   ├── predict.py / train.py / val.py
│   ├── obb/                   # 旋转边界框 (Oriented Bounding Box)
│   │   ├── predict.py / train.py / val.py
│   ├── world/                 # 开放词汇检测 (YOLOWorld)
│   │   ├── train.py / train_world.py
│   └── yoloe/                 # YOLOE 端到端模型
│       ├── predict.py / train.py / train_seg.py / val.py
├── sam/                       # Segment Anything Model
│   ├── model.py               # SAM 模型类
│   ├── predict.py             # SAM 预测器 (102KB, 大型)
│   ├── build.py               # SAM 模型构建
│   ├── amg.py                 # 自动掩码生成 (AMG) 算法
│   └── modules/               # SAM 专用神经网络模块
│       ├── sam.py             # SAM 核心模型
│       ├── encoders.py        # 图像编码器 (ViT)
│       ├── decoders.py        # 掩码解码器
│       ├── transformers.py    # SAM Transformer
│       ├── tiny_encoder.py    # Tiny 编码器
│       ├── blocks.py          # 基础模块块
│       ├── memory_attention.py # 记忆注意力
│       └── utils.py           # SAM 工具函数
├── fastsam/                   # FastSAM 快速分割
│   ├── model.py / predict.py / val.py / utils.py
├── rtdetr/                    # RT-DETR 实时检测 Transformer
│   ├── model.py / predict.py / train.py / val.py
├── nas/                       # 神经架构搜索
│   ├── model.py / predict.py / val.py
└── utils/                     # 模型工具
    ├── loss.py                # 模型专用损失函数
    └── ops.py                 # 模型专用操作

任务与模型对应关系:

任务 预测器 训练器 验证器
detect DetectionPredictor DetectionTrainer DetectionValidator
segment SegmentationPredictor SegmentationTrainer SegmentationValidator
classify ClassificationPredictor ClassificationTrainer ClassificationValidator
pose PosePredictor PoseTrainer PoseValidator
obb OBBPredictor OBBTrainer OBBValidator

2.4 nn/ — 神经网络模块层

nn/
├── __init__.py               # 导出: BaseModel, DetectionModel, ...
├── tasks.py                  # 模型任务解析器 (68KB, ~1813行) ★ 核心 ★
├── autobackend.py            # 多框架推理后端 (40KB) — PyTorch/ONNX/TensorRT等
├── text_model.py             # 文本编码器 (YOLOWorld 开放词汇用)
└── modules/                  # 神经网络基础模块
    ├── __init__.py            # 导出全部模块 (Conv, C2f, SPPF, Detect, ...)
    ├── conv.py                # 卷积层 (20KB): Conv, DWConv, GhostConv, Conv2, ConvTranspose, Focus, RepConv...
    ├── block.py               # 残差/聚合块 (68KB): Bottleneck, C1/C2/C3, C2f, C2fAttn, ELAN1, RepNCSPELAN4, HGBlock, ResNetLayer...
    ├── activation.py          # 激活函数
    ├── transformer.py         # Transformer 模块 (30KB): AIFI, LayerNorm, MLP, TransformerBlock, TransformerLayer...
    ├── head.py                # 检测/分割头 (52KB): Detect, Segment, Pose, OBB, WorldDetect, v10Detect, YOLOEDetect, YOLOESegment, Classify...
    └── utils.py               # 模块工具函数

tasks.py — 模型构建核心

负责将 YAML 配置解析为完整的 PyTorch 模型:

  1. 解析 YAML → 构建 nn.Module 层级结构
  2. 支持的任务模型:
    • DetectionModel — 目标检测
    • SegmentationModel — 实例分割
    • ClassificationModel — 图像分类
    • PoseModel — 姿态估计
    • OBBModel — 旋转框检测
    • WorldModel — 开放词汇检测
    • YOLOEModel — 端到端模型
    • RTDETRModel — Transformer 检测器
    • SAMModel / FastSAMModel — 分割模型
    • EnsembleModel — 集成模型
  3. 损失函数: v8DetectionLoss, v8SegmentationLoss, v8PoseLoss, v8OBBLoss, v8ClassificationLoss, E2EDetectLoss

主要模块一览

模块 类型 说明
Conv 卷积 Conv2d + BN + SiLU (标准卷积单元)
DWConv 卷积 Depthwise Separable 卷积
GhostConv 卷积 Ghost 轻量卷积
RepConv 卷积 可重参数化卷积(训练/推理解耦)
Bottleneck 标准残差瓶颈 (CSP/X 风格)
C1/C2/C3 CSP Bottleneck (1/2/3 个卷积)
C2f YOLOv11 默认骨干块(Cross Stage Partial + Focal)
C2fAttn C2f + 全局注意力
SPPF 空间金字塔池化(快速版)
Detect YOLO 解耦检测头(Anchor-free)
Segment 分割头(原型掩码生成)
Pose 姿态估计头(关键点回归)
AIFI Transformer Attention-based FiLaM 模块
RTDETRDecoder Transformer RT-DETR 解码器

autobackend.py — 多框架推理后端

统一的模型推理接口,支持:

  • PyTorch (.pt)
  • ONNX Runtime (.onnx)
  • TensorRT (.engine)
  • OpenVINO (.xml)
  • CoreML (.mlpackage)
  • TFLite (.tflite)
  • PaddlePaddle (.pdlmodel)
  • NCNN (.ncnnparam)
  • RKNN (.rknn)
  • DNN (OpenCV)

2.5 data/ — 数据处理模块

data/
├── __init__.py               # 导出数据集相关类
├── base.py                   # BaseDataset 基础数据集类 (19KB)
├── dataset.py                # 具体数据集实现 (35KB)
│                             #   YOLODataset, GroundingDataset
│                             #   ClassificationDataset (ImageFolder风格)
│                             #   SemanticDataset, SemanticBinDataset
├── build.py                  # DataLoader 构建与推理源加载 (11KB)
├── loaders.py                # 各种数据加载器 (31KB)
│                             #   LoadImages, LoadVideos, LoadStreams,
│                             #   LoadScreenshots, LoadSources
├── augment.py                # 数据增强管线 (129KB!) ★ 最大文件之一 ★
├── converter.py              # 数据格式转换 (31KB)
│                             #   COCO→YOLO, DOTA→YOLO, VOC→YOLO
│                             #   Auto-Orient, EXIF 信息提取, 图片压缩
├── utils.py                  # 数据处理辅助函数 (35KB)
├── annotator.py              # 注释/标注绘制工具 (2.9KB)
├── split.py                  # 数据集随机分割策略 (5KB)
└── split_dota.py             # DOTA 数据集专用分割 (12KB)

augment.py 数据增强管线

完整的数据增强管道,包括:

增强类型 操作
几何变换 Mosaic (4图拼接), MixUp (图像混合), RandomPerspective (透视变换), CopyPaste (实例粘贴), CutOut
颜色增强 HSV 增强 (色相/饱和度/亮度), 随机灰度化, 高斯模糊, 中值模糊, 上下翻转, 左右翻转
其他 Letterbox (缩放填充), Pad (填充), CropRandom (裁剪), Scale (缩放)
BBox 处理 随图像同步变换坐标, 边界约束, 裁剪过滤

2.6 utils/ — 工具库

utils/
├── __init__.py               # 全局常量导出 (52KB!)
│                             #   ROOT, ASSETS, DEFAULT_CFG, LOGGER
│                             #   SETTINGS, OPERATORS, RANK, torch_utils...
├── checks.py                 # 环境检查 (34KB) — Python/GPU/依赖/字体/Postfix
├── torch_utils.py            # PyTorch 工具 (40KB) — 模型选择/Profile/FLOPs/参数量
├── metrics.py                # 评估指标 (67KB) — mAP/ConfusionMatrix/box/pose/seg/obb/classify
├── plotting.py               # 绘图工具 (46KB) — 训练曲线/混淆矩阵/标注可视化/预测结果图
├── downloads.py              # 下载工具 (22KB) — 模型权重下载/安全校验
├── loss.py                   # 损失函数 (38KB) — v8系列损失/BBox匹配
├── ops.py                    # 自定义算子 (26KB) — NMS/warmup/镜像填充/dist2bbox
├── nms.py                    # NMS 实现 (13KB) — 标准NMS/融合NMS/多类NMS
├── tal.py                    # 任务对齐分配 (20KB) — Task-Aligned Assigner
├── logger.py                 # 日志系统 (14KB) — 彩色日志/进度条/远程日志
├── tqdm.py                   # 进度条封装 (15KB)
├── files.py                  # 文件操作 (8KB) — 文件大小/工作目录/空间检查
├── instance.py               # 单例管理 (18KB) — Settings/Callbacks
├── benchmarks.py             # 基准测试 (30KB) — 模型速度/内存对比
├── autobatch.py              # 自动 Batch Size 计算 (5KB)
├── autodevice.py              # 自动设备选择 (8KB) — MPS/CUDA/CPU
├── cpu.py                    # CPU 优化 (3.5KB)
├── dist.py                   # 分布式训练工具 (4KB)
├── errors.py                 # 自定义异常 (1.5KB)
├── events.py                 # 事件发送 (4.5KB) — HUB/遥测事件
├── git.py                    # Git 操作 (5KB)
├── patches.py                # 兼容补丁 (6.4KB)
├── triton.py                 # Triton 自定义内核 (5.3KB)
├── tuner.py                  # 调参工具 (6.6KB)
├── export/                   # 导出辅助
│   └── __init__.py            # 各格式的导出辅助函数 (imx等)
└── callbacks/                # 回调系统集成
    ├── base.py                # 回调基类
    ├── tensorboard.py         # TensorBoard 日志
    ├── wb.py                  # Weights & Biases
    ├── mlflow.py              # MLflow
    ├── comet.py               # Comet ML
    ├── hub.py                 # Ultralytics HUB
    ├── clearml.py             # ClearML
    ├── dvc.py                 # DVC (版本控制)
    ├── neptune.py             # Neptune AI
    ├── raytune.py             # Ray Tune (超参搜索)
    └── platform.py            # 平台信息

关键全局变量

ROOT = Path(__file__).parent                    # 项目根路径
ASSETS = ROOT / "assets"                        # 内置测试资源
DEFAULT_CFG = ROOT / "cfg" / "default.yaml"     # 默认配置路径
RUNS_DIR = ROOT.parent / "runs"                 # 输出根目录
LOGGER                                          # 全局日志记录器
SETTINGS                                        # 用户设置单例
RANK                                            # DDP 进程排名 (-1=非分布式)

支持的训练日志平台

平台 文件 功能
TensorBoard tensorboard.py 本地训练可视化
W&B wb.py 云端实验追踪
MLflow mlflow.py 开源 MLOps 平台
Comet comet.py 模型管理
ClearML clearml.py 实验管理
Neptune neptune.py 元数据追踪
DVC dvc.py 数据版本控制
Ray Tune raytune.py 分布式超参搜索
Hub hub.py Ultralytics 云平台

2.7 trackers/ — 目标跟踪

trackers/
├── __init__.py               # 注册跟踪器
├── track.py                  # Track 跟踪基类
├── basetrack.py              # BaseTrack 单个轨迹状态维护
├── byte_tracker.py           # ByteTracker 算法实现 (20KB)
├── bot_sort.py               # BOT-SORT 算法实现 (11KB)
└── utils/                    # 跟踪辅助工具
    ├── kalman_filter.py      # 卡尔曼滤波器 (21KB)
    ├── matching.py           # 匈牙利匹配 / IoU 匹配
    └── gmc.py                # 几何匹配一致性 (GMC)
跟踪算法 特点
ByteTRACK 简洁高效,仅使用运动信息关联,无外观特征
BOT-SORT 在 ByteTrack 基础上增加卡尔曼滤波 + 光流 + 外观特征(ReID)

2.8 hub/ — Ultralytics Hub

hub/
├── __init__.py               # Hub 客户端入口
├── auth.py                   # API Key 认证
├── session.py                # 会话管理 (18KB)
├── utils.py                  # Hub 工具函数
└── google/                   # Google Cloud 集成
    └── __init__.py           # Google Cloud Vision / AutoML

功能:模型上传下载 / 云端训练 / API 密钥认证 / 模型版本管理


2.9 solutions/ — 预置解决方案

solutions/
├── __init__.py               # 解决方案注册中心
├── solutions.py              # Solutions 基类 (35KB)
├── object_counter.py         # 区域内目标计数
├── object_cropper.py         # 检测目标裁剪
├── object_blurrer.py         # 检测区域模糊化(隐私保护)
├── heatmap.py                # 检测热力图生成
├── ai_gym.py                 # AI 健身动作计数
├── analytics.py              # 视频分析(人员/车辆统计图表)
├── speed_estimation.py       # 速度估算
├── queue_management.py        # 排队管理
├── parking_management.py      # 停车场管理
├── instance_segmentation.py   # 实例分割解决方案
├── trackzone.py              # 跟踪区域监控
├── vision_eye.py             # 视觉视线估计
├── distance_calculation.py    # 距离测算
├── similarity_search.py       # 特征相似度搜索
├── security_alarm.py         # 安全报警
├── region_counter.py         # 区域计数器
├── config.py                 # 解决方案配置
└── streamlit_inference.py     # Streamlit Web 推理界面

使用方式:

from ultralytics import solutions
counter = solutions.ObjectCounter(show=True, ...)

# 或通过 CLI
yolo solutions count source="video.mp4" region="[(0,400),(1080,400),(1080,360),(0,360)]"

三、执行流程

3.1 CLI 调用链

yolo detect train model=yolo11n.pt data=coco8.yaml epochs=100
        │
        ▼
   cfg/__init__.py::entrypoint()
        │  解析命令行参数 → 确定 task=detect, mode=train
        ▼
   engine/model.py::YOLO(model)
        │  加载 .pt 权重或从 .yaml 构建模型
        ▼
   engine/model.py::Model.train(**kwargs)
        │  实例化 DetectionTrainer
        ▼
   models/yolo/detect/train.py::DetectionTrainer
        │  继承 engine/trainer.py::BaseTrainer
        │  ├─ _setup_train()     初始化设备/数据/优化器/学习率
        │  ├─ get_model()        通过 nn/tasks.py 构建模型
        │  ├─ get_dataset()      通过 data/build.py 构建 DataLoader
        │  ├─ _do_train()        训练循环 (epoch × batch × forward+backward)
        │  ├─ validate()         每个 epoch 验证
        │  └─ save_model()       保存最佳模型
        ▼
   训练完成 → runs/detect/train/weights/best.pt

3.2 Python API 调用链

from ultralytics import YOLO
model = YOLO("yolo11n.pt")
results = model.predict("image.jpg")
Model.__call__() / Model.predict()
  → Model.task_map[detect][predict]  # 找到 DetectionPredictor
  → BasePredictor.__call__()
    → self.preprocess()              # 图像预处理
    → self.inference()               # 模型推理 (nn/autobackend.py)
    → self.postprocess()             # NMS + 结果组装
    → [Results, Results, ...]        # 返回结果列表

四、配置文件体系

4.1 配置优先级(由高到低)

命令行参数 > Python 参数 > 模型自带配置 > default.yaml > 硬编码默认值

4.2 配置层级

cfg/default.yaml                          # 全局默认配置
  ├── task: detect                         # 当前任务
  ├── mode: train                          # 当前模式
  ├── [train]                              # 训练超参数 (epochs, batch, lr0, ...)
  ├── [val]                                # 验证参数 (conf, iou, ...)
  ├── [predict]                            # 推测参数 (source, conf, show, ...)
  ├── [save]                               # 保存选项 (save_txt, save_crop, ...)
  ├── [augment]                            # 增强参数 (hsv_h/s/v, mosaic, ...)
  ├── [optimizer]                          # 优化器参数 (lr0, lrf, momentum, weight_decay, warmup_*)
  └── [export]                             # 导出参数 (format, imgsz, half, ...)
  
cfg/models/11/yolo11.yaml                  # YOLO11 网络架构
  ├── backbone (backbone: P1-P5)           # 骨干网络层定义
  ├── head (head: P4-P1)                   # 检测头定义
  └── anchors / nc / ch                    # 锚点/类别数/通道数

cfg/datasets/coco8.yaml                    # 数据集配置
  ├── path                                 # 数据集根目录
  ├── train / val / test                   # 数据划分路径
  └── names                                # 类别名称列表

4.3 模型版本覆盖

目录 版本 模型变体
models/11/ YOLO11 (最新) n/s/m/l/x/cls/seg/pose/obb/yoloe
models/v12/ YOLO12 n/s/m/l/x/cls/seg/pose/obb
models/v10/ YOLOv10 n/s/m/l/x
models/v9/ YOLOv9 t/s/m/c/e (+seg)
models/v8/ YOLOv8 n/s/m/l/x/cls/seg/pose/obb/world/rtdetr/ghost/yoloe
models/v6/ YOLOv6 (兼容)
models/v5/ YOLOv5 (兼容)
models/v3/ YOLOv3 (兼容)
models/rt-detr/ RT-DETR resnet50/resnet101/l/x

五、测试结构

tests/
├── conftest.py                 # pytest fixtures (模型/数据/设备)
├── test_cli.py                 # CLI 命令测试
├── test_cuda.py                # CUDA 相关测试
├── test_engine.py              # Engine 模块测试
├── test_funcs.py               # 通用功能测试
├── test_hub.py                 # Hub 集成测试
├── test_integrations.py        # 第三方集成测试
├── test_models.py              # 模型测试
├── test_nn_modules.py          # NN 模块测试
├── test_python.py              # Python API 测试
├── data/                       # 测试数据资源
│   └── images/                 # 测试图片
└── *.yaml                      # 测试配置

附录:核心文件大小 Top 10

文件 大小 说明
data/augment.py 129.78 KB 数据增强管线
engine/results.py 69.82 KB 预测结果封装
engine/exporter.py 67.68 KB 模型导出器
nn/tasks.py 68.73 KB 模型任务解析/构建
nn/modules/block.py 68.97 KB 神经网络残差块
utils/metrics.py 67.22 KB 评估指标计算
utils/torch_utils.py 40.30 KB PyTorch 工具
data/converter.py 31.30 KB 数据格式转换
data/loaders.py 31.00 KB 数据加载器
utils/checks.py 34.96 KB 环境检查

文档自动生成于 2026-05-24 | 基于 ultralytics v8.3.202 源码分析