本文基于YOLOv13 官方仓库(iMoonLab/yolov13,2025.6)实测整理,Windows/CPU 全程可跑。
前言
YOLOv13(HyperACE 超图 + FullPAD 架构)官方开源后,很多同学问怎么训练自己的数据集。这篇把"从零跑通 YOLOv13"完整走一遍:环境搭建 → 数据集准备 → 训练 → 产物解读。全部命令实测可复现。
专栏目录:YOLO改进目录一览(持续更新)
专栏地址:YOLO改进专栏——持续更新各方向即插即用改进
一、环境搭建
YOLOv13 官方仓库基于 ultralytics 框架(fork 自 8.3.63),推荐源码安装:
git clone https://github.com/iMoonLab/yolov13.git cd yolov13 pip install -e . -i https://pypi.tuna.tsinghua.edu.cn/simple有 NVIDIA 显卡可再按官方 requirements 安装 flash-attn(可选,CPU/旧卡会自动降级为标准注意力,不影响功能)。验证:
yolo version # 输出 8.3.63 即成功(yolov13 fork 的版本号) python -c "import torch; print(torch.cuda.is_available())"实测环境:Python 3.11 + torch 2.13 CPU,Windows 下全流程可跑。
二、准备自己的数据集
YOLO 格式与 v11 完全一致:每张图一个同名 txt,每行
类别ID 中心x 中心y 宽 高(归一化 0~1):datasets/mydata/ ├── images/ │ ├── train/ # 训练图 │ └── val/ # 验证图 └── labels/ ├── train/ # 与图同名的 .txt └── val/标注工具推荐 LabelImg / X-AnyLabeling,直接导出 YOLO 格式。
三、编写数据集配置 data.yaml
path: F:/datasets/mydata # 数据集根目录(建议绝对路径) train: images/train val: images/val nc: 2 # 类别数 names: ["cat", "dog"]四、开始训练
命令行方式(模型换成 v13 的 yaml 即可):
yolo detect train model=yolov13n.yaml data=F:/datasets/mydata/mydata.yaml epochs=100 imgsz=640 batch=16Python 方式(推荐继承预训练权重):
from ultralytics import YOLO model = YOLO("yolov13n.pt") # 官方发布的 v13 预训练权重 model.train(data="F:/datasets/mydata/mydata.yaml", epochs=100, imgsz=640, batch=16)本文实测(小样本 3 轮冒烟,Windows CPU):
Ultralytics 8.3.63 🚀 Python-3.11.15 torch-2.13.0+cpu CPU (Intel Core i9-14900HX) 3 epochs completed in 0.001 hours. Optimizer stripped from runs\detect\train\weights\last.pt, 5.5MB Results saved to runs\detect\train常用参数与 v11 一致:epochs / imgsz / batch / device / workers,显存不够就减 batch,Windows 报 DataLoader 错就设 workers=0。
五、训练产物解读
产物目录
runs/detect/train*/与 v11 相同:
文件 用途 weights/best.pt 验证集最优权重(部署用) weights/last.pt 断点续训用 results.csv / results.png 逐轮损失与指标曲线 confusion_matrix.png 混淆矩阵 labels.jpg 标注分布检查 val_batch*_pred.jpg 验证集预测可视化 先看 labels.jpg 查标注、results.png 看收敛、val_batch0_pred.jpg 看效果。
六、验证与推理
yolo detect val model=runs/detect/train/weights/best.pt data=F:/datasets/mydata/mydata.yaml yolo detect predict model=runs/detect/train/weights/best.pt source=img.jpg七、常见报错速查
- **
No module named 'huggingface_hub'**:v13 的引擎依赖 HF Hub,pip install huggingface_hub即可;- **
FlashAttention is not available**:正常提示,CPU/旧卡自动降级为标准注意力,不影响训练;- 数据集路径错误 / CUDA OOM / workers 报错:处理方式与 v11 相同(绝对路径、减 batch、workers=0)。
八、总结
YOLOv13 的训练流程与 v11 几乎一致,差异只有三点:仓库换源码安装、模型文件换 yolov13n.yaml/pt、引擎多了 HF Hub 依赖。跑通本篇后,后面的改进篇就能直接在 v13 上做了。
觉得有帮助的话,点赞收藏关注三连支持一下,评论区欢迎交流~
YOLOv13改进策略【基础篇】| 训练自己的数据集:从环境搭建到实例测试全流程