# 🚀 开始训练检测仪数据集 ## 📊 数据集信息 **数据集路径**: `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` - 检测仪 --- ## ✅ 训练配置 训练脚本已优化,配置如下: ```python 数据集: datasets/检测仪/data.yaml 模型: yolov8n-seg.pt 训练轮数: 150轮 批次大小: 8 图片尺寸: 640 设备: 自动检测(MPS/GPU/CPU) ``` **说明**: - 脚本会自动检测并使用最佳设备(MPS > GPU > CPU) - 检测到你的系统有 **Apple Silicon GPU (MPS)**,会自动使用加速训练 --- ## 🚀 开始训练 ### 方法一:直接运行(推荐) 训练脚本已经配置好,直接运行: ```bash python train_segmentation.py ``` ### 方法二:自定义参数 如果需要调整,修改 `train_segmentation.py` 的 `main()` 函数: ```python 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. 验证数据完整性 ```bash # 检查训练集 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. 验证标注格式 ```bash python verify_seg_labels.py datasets/检测仪/train/labels datasets/检测仪/train/images ``` --- ## 💡 训练建议 ### 对于1223张照片的数据集: 1. **训练轮数**: 150轮足够(配合早停机制) 2. **批次大小**: 8(MPS/CPU友好) 3. **图片尺寸**: 640(平衡速度和精度) 4. **设备**: 自动使用MPS加速 ### 如果训练速度太慢: **优化方案**: ```python batch=4, # 减小batch imgsz=416, # 减小图片尺寸(速度提升约2倍) ``` ### 如果需要更高精度: **优化方案**: ```python model_name="yolov8s-seg.pt", # 使用更大的模型 epochs=200, # 增加训练轮数 ``` --- ## 📊 数据集评估 ### 优势 ✅ **数据量充足** - 1223张是很好的规模 ✅ **数据完整** - 所有图片都有标注(978+245完美匹配) ✅ **类别丰富** - 6个类别,覆盖多种场景 ✅ **已分配好** - 训练集/验证集比例合理(80/20) ### 训练建议 1. **监控训练**: 观察损失曲线,如果不再下降可以提前停止 2. **保存检查点**: 训练过程中会自动保存最佳模型 3. **验证结果**: 训练完成后查看验证集准确率 --- ## 🎯 快速开始 **一键训练**: ```bash 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加速)