YOLOv13改进策略【基础篇】| 训练自己的数据集:从环境搭建到实例测试全流程
2026/8/28 5:48:19 网站建设 项目流程

本文基于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=16

Python 方式(推荐继承预训练权重):

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

七、常见报错速查

  1. **No module named 'huggingface_hub'**:v13 的引擎依赖 HF Hub,pip install huggingface_hub即可;
  2. **FlashAttention is not available**:正常提示,CPU/旧卡自动降级为标准注意力,不影响训练;
  3. 数据集路径错误 / CUDA OOM / workers 报错:处理方式与 v11 相同(绝对路径、减 batch、workers=0)。

八、总结

YOLOv13 的训练流程与 v11 几乎一致,差异只有三点:仓库换源码安装、模型文件换 yolov13n.yaml/pt、引擎多了 HF Hub 依赖。跑通本篇后,后面的改进篇就能直接在 v13 上做了。

觉得有帮助的话,点赞收藏关注三连支持一下,评论区欢迎交流~

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询