2.3 KiB
2.3 KiB
🔄 Phase 5 训练重启(workers=0)
重启时间: 2025-10-21 20:00
原因: 之前训练卡在数据加载阶段(workers=4导致)
解决方案: 使用workers=0(主进程加载数据)
✅ 新配置
关键变更
- GPU数量: 8 → 4 (降低复杂度)
- Workers: 4 → 0 (避免死锁)
- Batch size: 2/GPU (保持)
- 配置文件: multitask_enhanced_phase1_HIGHRES.yaml (保持)
完整命令
torchpack dist-run -np 4 python tools/train.py \
multitask_enhanced_phase1_HIGHRES.yaml \
--model.encoders.camera.backbone.init_cfg.checkpoint=pretrained/swint-nuimages-pretrained.pth \
--load_from runs/run-326653dc-74184412/epoch_19.pth \
--data.samples_per_gpu=2 \
--data.workers_per_gpu=0 \
--run-dir runs/enhanced_from_epoch19
📊 当前状态
启动时间: 20:00
日志文件: enhanced_training_workers0.log
进程数: 11个
GPU状态: 初始化中
⏱️ 预计时间
调整后估算
- GPU数量: 4 (vs 之前8)
- 单epoch时间: 约 20-25分钟 (4 GPU slower)
- 总epochs: 23
- 预计总时长: 8-10小时
- 预计完成: 明天上午6:00-8:00
🔍 监控
# 实时日志
tail -f enhanced_training_workers0.log | grep -v "Shapely"
# GPU状态
watch -n 5 nvidia-smi
# 查找训练进度
grep "Epoch\|Iter" enhanced_training_workers0.log | tail -20
💡 为什么workers=0
问题根源
- workers > 0: 多进程数据加载,可能导致共享内存冲突
- 分布式训练: 多GPU + 多workers = 复杂的进程间通信
- nuScenes数据集: 大量小文件,I/O密集
workers=0的优势
- ✅ 主进程加载数据(简单可靠)
- ✅ 避免共享内存问题
- ✅ 避免多进程同步死锁
- ✅ 稳定性高(已验证epoch_19训练成功使用)
workers=0的劣势
- ⚠️ 数据加载稍慢(但可接受)
- ⚠️ 可能有短暂的GPU等待
权衡: 稳定性 > 速度,宁可慢一点也要训练成功 ✅
🎯 期望结果
训练应该能够:
- ✅ 顺利完成数据加载
- ✅ 进入训练循环
- ✅ 稳定运行23个epochs
- ✅ mIoU提升到60-65%
已使用workers=0重启训练,等待数据加载完成...