5.5 KiB
5.5 KiB
🚀 开始训练检测仪数据集
📊 数据集信息
数据集路径: datasets/检测仪
数据统计:
- ✅ 训练集: 978 张图片 + 978 个标注文件
- ✅ 验证集: 245 张图片 + 245 个标注文件
- ✅ 总计: 1223 张图片(完美匹配)
- ✅ 类别数: 6 个
类别列表:
da_dian_xian- 搭电线tuo_che_shang_you_che- 拖车上有车yi_biao_pan- 仪表盘lun_tai- 轮胎ping_an_ma_jia- 平安马甲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.py 的 main() 函数:
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张照片的数据集:
- 训练轮数: 150轮足够(配合早停机制)
- 批次大小: 8(MPS/CPU友好)
- 图片尺寸: 640(平衡速度和精度)
- 设备: 自动使用MPS加速
如果训练速度太慢:
优化方案:
batch=4, # 减小batch
imgsz=416, # 减小图片尺寸(速度提升约2倍)
如果需要更高精度:
优化方案:
model_name="yolov8s-seg.pt", # 使用更大的模型
epochs=200, # 增加训练轮数
📊 数据集评估
优势
✅ 数据量充足 - 1223张是很好的规模 ✅ 数据完整 - 所有图片都有标注(978+245完美匹配) ✅ 类别丰富 - 6个类别,覆盖多种场景 ✅ 已分配好 - 训练集/验证集比例合理(80/20)
训练建议
- 监控训练: 观察损失曲线,如果不再下降可以提前停止
- 保存检查点: 训练过程中会自动保存最佳模型
- 验证结果: 训练完成后查看验证集准确率
🎯 快速开始
一键训练:
python train_segmentation.py
脚本会自动:
- ✅ 检测并使用MPS加速(你的系统已检测到)
- ✅ 使用优化的训练参数
- ✅ 训练150轮(足够)
- ✅ 保存最佳模型
❓ 常见问题
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加速)