bev-project/archive/docs_old/训练重启成功报告_20251031.md

5.1 KiB
Raw Blame History

训练重启成功报告

重启时间: 2025-10-31 09:07
任务: Phase 4A Stage 1 (600×600 BEV分辨率扩展)


重启流程

Step 1: 进程清理

pkill -f "train.py"
pkill -f "mpirun"
  • 旧进程完全清理
  • GPU显存释放

Step 2: 环境验证

nvidia-smi  # 所有GPU空闲
python环境  # PyTorch 1.10.1正常
  • 8个GPU全部可用
  • PyTorch环境正常
  • mmcv加载成功

Step 3: 正确启动

bash START_PHASE4A_STAGE1.sh
  • 使用正确的脚本
  • 配置文件multitask_BEV2X_phase4a_stage1.yaml
  • 后台运行

📊 启动验证

配置确认

项目 上次失败 本次重启 状态
配置文件 phase4a.yaml phase4a_stage1.yaml
分辨率 800×800 600×600
GPU数量 6个 4个
启动方式 mpirun torchpack
显存使用 ~30GB ~29GB

GPU状态

GPU 0: 100%利用率, 28.8GB显存, 45°C, 216W ✅
GPU 1: 100%利用率, 29.3GB显存, 44°C, 168W ✅
GPU 2: 100%利用率, 29.0GB显存, 46°C, 211W ✅
GPU 3: 100%利用率, 29.0GB显存, 45°C, 168W ✅

GPU 4-7: 空闲

分析

  • 所有训练GPU满载运行
  • 显存使用29GB安全范围<32GB
  • 温度正常44-46°C
  • 功耗正常168-216W

进程确认

进程数: 10个
配置: multitask_BEV2X_phase4a_stage1.yaml ✅
启动方式: torchpack dist-run -np 4 ✅

📝 日志状态

最新日志文件

phase4a_stage1_20251031_090637.log (新) ✅

初始化输出

- Reducer buckets rebuilt ✅
- 模型正在初始化
- 等待首批训练数据...

🔍 问题根因回顾

上次失败原因

  1. 配置文件错误: 使用了800×800的配置multitask_BEV2X_phase4a.yaml
  2. 启动方式错误: 通过mpirun而非torchpack启动
  3. GPU数量错误: 使用6个GPU未测试配置

本次修复

  1. 使用正确配置multitask_BEV2X_phase4a_stage1.yaml600×600
  2. 使用torchpack启动环境变量完整传递
  3. 使用4个GPU经过测试的稳定配置

⏱️ 预期时间

训练速度

  • 每次iteration: ~2.6秒
  • 每个epoch: 30,895 iterations
  • Epoch 1时间: ~22小时
  • 10 epochs时间: ~9.3天

检查点

  • 第1次验证: Epoch 1完成后明天上午
  • 中期检查: Epoch 5完成后4-5天后
  • 最终评估: Epoch 10完成后9天后

📈 预期性能

Loss趋势

起始: ~4.0-4.5 (继续上次趋势)
目标: 持续稳定下降

性能提升目标

Stop Line IoU: 0.27 → 0.35+ (+30%)
Divider IoU:   0.19 → 0.28+ (+47%)
整体mIoU:      0.41 → 0.48+ (+17%)

🛡️ 稳定性保障

配置安全性

  • 600×600分辨率适中
  • 显存使用~29GB<32GB上限
  • 4-GPU配置已验证稳定
  • workers_per_gpu=0避免DataLoader问题

环境完整性

  • PyTorch 1.10.1
  • LD_LIBRARY_PATH正确设置
  • 符号链接已创建
  • mmcv正常加载

📋 监控建议

短期监控前3小时

# 每30分钟检查一次
tail -f phase4a_stage1_*.log | grep "Epoch \["

关注点

  • Loss是否开始输出
  • Loss是否稳定下降
  • GPU是否持续满载
  • 无OOM错误

中期监控前24小时

# 每2-3小时检查
bash monitor_phase4a_stage1.sh

关注点

  • Loss从~4.5下降趋势
  • Epoch 1是否在22小时内完成
  • 显存使用是否稳定
  • 无进程卡死

长期监控9天

# 每天检查1-2次
tail -100 phase4a_stage1_*.log | grep "Epoch \[" | tail -10

关注点

  • 每个epoch是否正常完成
  • checkpoint是否正常保存
  • 性能指标是否提升

🚨 异常处理

如果再次卡死

  1. 检查日志最后更新时间
  2. 如果>1小时无更新执行
    pkill -f "train.py"
    bash START_PHASE4A_STAGE1.sh
    

如果OOM

  1. 减少batch size已是1无法再减
  2. 考虑使用更少的GPU或更低分辨率

如果Loss异常

  1. 检查是否nan或inf
  2. 查看grad_norm是否爆炸
  3. 必要时从checkpoint恢复

重启检查清单

  • 旧进程完全清理
  • GPU显存释放
  • 使用正确的配置文件stage1
  • 使用正确的启动方式torchpack
  • GPU数量正确4个
  • 显存使用安全(~29GB
  • GPU满载运行100%
  • 温度正常(<50°C
  • 日志正常生成
  • 进程正常运行

📁 相关文档

  • 训练失败根因分析_20251031.md - 详细的失败原因分析
  • 训练异常停止报告_20251031.md - 上次停止的完整报告
  • START_PHASE4A_STAGE1.sh - 启动脚本
  • monitor_phase4a_stage1.sh - 监控脚本

总结

重启状态

成功

关键改进

  1. 配置文件正确600×600
  2. 启动方式正确torchpack
  3. GPU配置正确4个

下一步

  • 等待首批Loss数据~5分钟
  • 监控前3小时稳定性
  • 明天验证Epoch 1结果

训练已正常启动,请继续监控!