jjsos_JJdetection/开始训练检测仪.md

5.5 KiB
Raw Permalink Blame History

🚀 开始训练检测仪数据集

📊 数据集信息

数据集路径: datasets/检测仪

数据统计:

  • 训练集: 978 张图片 + 978 个标注文件
  • 验证集: 245 张图片 + 245 个标注文件
  • 总计: 1223 张图片(完美匹配)
  • 类别数: 6 个

类别列表:

  1. da_dian_xian - 搭电线
  2. tuo_che_shang_you_che - 拖车上有车
  3. yi_biao_pan - 仪表盘
  4. lun_tai - 轮胎
  5. ping_an_ma_jia - 平安马甲
  6. jian_ce_yi - 检测仪

训练配置

训练脚本已优化,配置如下:

数据集: datasets/检测仪/data.yaml
模型: yolov8n-seg.pt
训练轮数: 150
批次大小: 8
图片尺寸: 640
设备: 自动检测MPS/GPU/CPU

说明:

  • 脚本会自动检测并使用最佳设备MPS > GPU > CPU
  • 检测到你的系统有 Apple Silicon GPU (MPS),会自动使用加速训练

🚀 开始训练

方法一:直接运行(推荐)

训练脚本已经配置好,直接运行:

python train_segmentation.py

方法二:自定义参数

如果需要调整,修改 train_segmentation.pymain() 函数:

train_segmentation_model(
    dataset_path="datasets/检测仪/data.yaml",
    model_name="yolov8n-seg.pt",
    epochs=150,        # 可以调整训练轮数
    batch=8,           # 可以调整批次大小
    imgsz=640,         # 可以改为416更快
    device="cpu"       # 会自动检测MPS/GPU
)

⏱️ 训练时间估算

设备 预计训练时间
MPS (Apple Silicon) 2-4 小时
CPU 8-15 小时
GPU (NVIDIA) 0.5-2 小时

你的系统: 检测到 MPS预计 2-4 小时 完成训练


📋 训练过程说明

1. 训练开始

运行后会看到:

加载模型: yolov8n-seg.pt
开始训练分割模型...
数据集: datasets/检测仪/data.yaml
训练轮数: 150
批次大小: 8
图片尺寸: 640
设备: cpu
✓ 检测到Apple Silicon GPU使用MPS加速训练
--------------------------------------------------

2. 训练进度

训练过程中会显示:

  • 每个epoch的损失值
  • 训练进度条
  • 预计剩余时间

3. 训练完成

训练完成后会显示:

训练完成!
模型保存在: runs/segment/train/weights/best.pt

📍 训练结果位置

训练完成后,模型保存在:

runs/segment/train/weights/
  ├── best.pt    # 最佳模型(推荐使用)⭐
  └── last.pt     # 最后一轮的模型

训练日志和可视化:

runs/segment/train/
  ├── results.png           # 训练曲线图
  ├── confusion_matrix.png  # 混淆矩阵
  ├── labels.jpg            # 标注可视化
  └── ...

🔍 训练前检查(可选)

1. 验证数据完整性

# 检查训练集
python check_and_clean_images.py datasets/检测仪/train/images datasets/检测仪/train/labels

# 检查验证集  
python check_and_clean_images.py datasets/检测仪/val/images datasets/检测仪/val/labels

2. 验证标注格式

python verify_seg_labels.py datasets/检测仪/train/labels datasets/检测仪/train/images

💡 训练建议

对于1223张照片的数据集

  1. 训练轮数: 150轮足够配合早停机制
  2. 批次大小: 8MPS/CPU友好
  3. 图片尺寸: 640平衡速度和精度
  4. 设备: 自动使用MPS加速

如果训练速度太慢:

优化方案:

batch=4,        # 减小batch
imgsz=416,      # 减小图片尺寸速度提升约2倍

如果需要更高精度:

优化方案:

model_name="yolov8s-seg.pt",  # 使用更大的模型
epochs=200,                    # 增加训练轮数

📊 数据集评估

优势

数据量充足 - 1223张是很好的规模 数据完整 - 所有图片都有标注978+245完美匹配 类别丰富 - 6个类别覆盖多种场景 已分配好 - 训练集/验证集比例合理80/20

训练建议

  1. 监控训练: 观察损失曲线,如果不再下降可以提前停止
  2. 保存检查点: 训练过程中会自动保存最佳模型
  3. 验证结果: 训练完成后查看验证集准确率

🎯 快速开始

一键训练:

python train_segmentation.py

脚本会自动:

  1. 检测并使用MPS加速你的系统已检测到
  2. 使用优化的训练参数
  3. 训练150轮足够
  4. 保存最佳模型

常见问题

Q: 978+245张照片够吗

A: 完全够1223张是很好的数据集规模可以训练出高质量的模型。

Q: 需要训练多久?

A: 使用MPS加速预计 2-4小时 完成。

Q: 训练轮数设置多少?

A: 建议150轮如果50轮没有改善会自动停止早停机制

Q: 如何知道训练完成?

A: 训练完成后会显示:

训练完成!
模型保存在: runs/segment/train/weights/best.pt

Q: 训练中断了怎么办?

A: 可以继续训练YOLO支持断点续训。或者使用保存的 last.pt 继续。


📝 总结

数据集已准备好 - 978训练 + 245验证 = 1223张 配置已优化 - 训练脚本已配置好 设备已检测 - 自动使用MPS加速 可以直接训练 - 运行 python train_segmentation.py 即可

开始训练吧! 🚀

预计训练时间:2-4小时使用MPS加速