环境配置可参考YOLOv11超详细环境搭建以及模型训练(GPU版本)-CSDN博客
以下内容默认已经配置好YOLOV11所需的环境
1.介绍YOLO文件夹结构

首先看根目录
| 文件夹 | 作用 |
|---|---|
.git |
Git 版本管理数据,记录提交历史、分支等,一般不用手动改。 |
.github |
GitHub 相关配置,比如自动测试、发布流程、Issue 模板等。里面有 workflows、scripts、ISSUE_TEMPLATE。 |
.idea |
PyCharm / IntelliJ 的项目配置文件,和代码本身关系不大。 |
docker |
Docker 环境配置,用来构建可复现的运行环境,比如训练、推理、部署时用的容器。 |
docs |
文档源码,官网文档通常从这里生成。里面有英文文档、页面模板、文档宏等。 |
examples |
示例代码,展示 YOLO 如何接入不同平台或框架,比如 ONNXRuntime、OpenCV、Rust、C++、目标跟踪、分割等。 |
tests |
测试代码,用来验证训练、预测、导出、模型加载等功能是否正常。 |
ultralytics |
最核心的源码目录,YOLO 的模型、训练、推理、数据处理、配置、工具函数基本都在这里。 |

ultralytics 里面比较重要的子文件夹:
| 文件夹 | 作用 |
|---|---|
assets |
示例图片、资源文件,常用于测试预测效果。 |
cfg |
配置文件,比如模型配置、默认训练参数、任务配置等。 |
data |
数据集相关代码,比如数据加载、数据增强、数据集格式处理。 |
engine |
训练、验证、预测、导出这些核心流程的基础引擎。 |
hub |
Ultralytics HUB 云端平台相关功能。 |
models |
各类模型入口,比如 YOLO、RT-DETR、SAM 等。 |
nn |
神经网络结构代码,包括层、模块、模型解析等,改网络结构常看这里。 |
optim |
优化相关代码,比如优化器或调参相关工具。 |
solutions |
官方封装好的应用方案,比如计数、区域检测、跟踪类应用。 |
trackers |
目标跟踪相关算法,比如 ByteTrack、BoT-SORT 等。 |
utils |
通用工具函数,日志、绘图、文件处理、检查环境等都可能在这里。 |
2.制作数据集
在YOLO文件夹根目录创建data文件夹,在data文件夹内创建train、val、test三个文件夹,分别放训练、验证、测试的图片

图片需要标注,不同的任务的标注格式也不相同。下面以目标检测介绍。
推荐X-AnyLabelingCVHub520/X-AnyLabeling: Effortless data labeling with AI support from Segment Anything and other awesome models.
下载最新发布包后运行

该软件左侧栏为工具栏,打开文件夹后可对图片进行标注,标注完后点击上方的导出,目标检测就选HBB,导出后可以获得YOLO训练需要的标注文件。
将标注文件放入上方建好的data文件夹中的对应位置
3.创建数据集配置文件
在项目的ultralytics /cfg/datasets目录新建一个xxxx.yaml,内容如下:
1 | |
4.创建模型对象
在项目的ultralytics/cfg/models/11目录下新建一个yolov11-neu-det.yaml,代码如下
1 | |
5.创建train.py文件
在项目的根目录下创建train.py文件方便后续的训练,后面主需要运行train.py文件就可以再次进行训练了,不必每次都需要出入一次运行命令
1 | |
配置好后运行train.py开始训练


.pt转onnx
简单版本
1 | |
复杂版本
1 | |
QA
1.什么是CUDA

2.什么是CUDNN
NVIDIA® CUDA® 深度神经网络库(cuDNN)是一款 GPU 加速的深度神经网络基础算子库。cuDNN 为标准操作(如前向和反向卷积、注意力、矩阵乘法(matmul)、池化和归一化)提供高度优化的实现。