Skip to content

常见问题与注意事项

1. 训练前检查清单

2. 常见报错及解决

问题原因解决方案
CUDA out of memory显存不足减小 batch 或 imgsz,或设置 batch=-1 自动适配
No labels found标签路径不对检查 labels 目录是否与 images 镜像对应
Dataset not founddata.yaml 路径错误使用绝对路径,检查 path / train / val 是否正确
RuntimeError (Windows)多进程问题在脚本顶部加 if name == "main":
训练 loss 不下降学习率不合适或数据问题检查标注质量、调整 lr0、确认类别 ID 正确
验证 mAP 很低数据量不足或过拟合增加数据量、使用数据增强、减小模型尺寸
class id X out of range标签中的类别 ID 超过 nc确保标签 ID 范围为 0 到 nc-1

3. 性能优化建议

  • 数据质量 > 数据数量:标注准确比数据多更重要
  • 数据增强:小数据集时尝试更多增强策略(Mosaic、MixUp、翻转等)
  • 迁移学习:永远推荐从预训练模型开始(.pt 文件),除非领域差异极大
  • 多尺度训练:设置 multi_scale=0.5 让模型适应不同大小的目标
  • 余弦学习率:长训练时设置 cos_lr=True,后期收敛更平稳
  • 混合精度amp=True(默认开启),减少显存占用加速训练
  • 图片尺寸:640 是默认值,小目标多时可以尝试 1280

4. 数据集质量提升

  • 使用 Roboflow(在线标注平台) 的数据增强功能增加样本多样性
  • 确保类别均衡:标注完成后用 YOLO 的可视化功能抽检标注质量
  • 标注质量:标注完成后用 YOLO 的可视化功能抽检标注质量**
    python
    from ultralytics import YOLO
    
    model = YOLO("yolo26n.pt")
    model.train(data="data.yaml", epochs=1, plots=True)
    # 查看 runs/train/exp/ 下的 labels.jpg 和 train_batch*.jpg

京ICP备2024093538号-1