YOLO 迁移训练全流程

从自己标注一路走到端侧部署:标注 → data.yaml → 训练 → best.pt → 上板计数。

标注 data.yaml 训练 best.pt 部署 w h (x,y)中心 YOLO 标签 xxx.txt(一图一 txt) class x_center y_center w h 0 0.234375 0.655523 0.463750 0.688953 归一化 0~1 · 中心点式 非像素、非两顶点(区别于 VOC / COCO) 工具:X-AnyLabeling → 导出 YOLO HBB classes.txt:序号从 0 开始 目录组织 dataset/ ├─ images/ ├─ train/ └─ val/ ├─ labels/ ├─ train/ └─ val/ └─ data.yaml images/labels 拼写须正确 文件名一一对应 · 9:1 划分 data.yaml path: /abs/dataset train: images/train val: images/val names: 0: red_bull 1: pepsi 2: sprite 训练命令(迁移学习:从预训练权值起步) yolo detect train data=data.yaml pretrained=yolo26n.pt epochs=10 batch=16 逐 epoch 打印三项损失: box_loss cls_loss dfl_loss 验证指标(逐类别): Box(P) R mAP50 mAP50-95 results.png:loss 下降,mAP 上升 epoch 1 → 10 train loss ↓ mAP50-95 ↑ 训好没有?三看,然后取 best.pt best.pt 验证最优 · 部署用 last.pt ✓ loss 稳定下降 ✓ mAP 持续上升 ✓ val_pred ≈ val_labels 产物在 runs/detect/train/ results.png · 真值/预测对比图 直接用 COCO 权值检不出方块! 端侧部署:香橙派跑 best.pt,boxes.cls 计数 香橙派(端侧) results = model(img) n = len(results.boxes.cls) 方块数量 count = 3 作业3 扩展③:自训计数器替换 VLM
1