6.3 KiB
6.3 KiB
🚀 BEVFusion项目训练状态报告
报告时间: 2025-11-06 07:35 UTC (北京时间 15:35)
项目: BEVFusion 多任务学习
📊 当前状态概览
⚠️ 训练中断 - 磁盘空间问题
Phase 4a Stage 1训练在Epoch 5评估时崩溃
错误: OSError: [Errno 28] No space left on device
位置: 保存评估结果临时文件时
时间: 2025-11-05 10:06
🔍 问题分析
崩溃原因
- 触发点: Epoch 5完成训练(15400/15448 iterations, 97.4%)
- 失败环节: 评估后保存结果到
tmpdir/part_6.pkl - 错误类型: 磁盘写入失败
磁盘空间状态
总空间: 439GB
已使用: 361GB (86%)
可用: 61GB
Inodes: 2% 使用率
主要占用:
- runs/run-326653dc-2334d461: 1.6GB (Phase 4a checkpoints)
- runs/enhanced_from_epoch19: 517MB (Phase 5 checkpoints)
- 日志和其他: 2.1GB total
可能原因
- ✅ 空间充足:61GB可用,不应该是真正的空间不足
- ⚠️ 瞬时峰值:评估时8个GPU同时写入大文件(6019样本 × 8)
- ⚠️ 临时目录问题:可能某个特定分区满了
📈 训练进度详情
Phase 5: Enhanced Training ✅ 已完成
| 项目 | 状态 |
|---|---|
| 配置 | EnhancedBEVSegmentationHead |
| Epochs | 23/23 ✅ |
| 完成时间 | 2025-10-29 23:21 |
| Checkpoint | enhanced_from_epoch19/epoch_23.pth (516MB) |
| 训练环境 | 6-8 GPUs, GroupNorm, workers=0 |
Phase 4a Stage 1: Task-GCA Training ⚠️ 中断
| 项目 | 状态 |
|---|---|
| 配置 | multitask_BEV2X_phase4a_stage1_task_gca.yaml |
| 完成Epochs | 5/? |
| 中断时间 | 2025-11-05 10:06 |
| 最后保存 | run-326653dc-2334d461/epoch_5.pth (525MB) |
| 训练环境 | 8 GPUs, FP32, batch_size=1, workers=0 |
| 启动时间 | 2025-11-03 01:14 |
📉 Epoch 5 训练数据(中断前最后记录)
Loss趋势(Iterations 15000-15400)
Iter 15000: loss=2.5623
Iter 15050: loss=2.4710
Iter 15100: loss=2.4387
Iter 15150: loss=2.4800
Iter 15200: loss=2.4541
Iter 15250: loss=2.4983
Iter 15300: loss=2.3849
Iter 15350: loss=2.5533
Iter 15400: loss=2.4981
平均Loss: ~2.47 (波动在2.38-2.56之间)
分割Loss细节(Iter 15400)
| 类别 | Dice Loss | Focal Loss | Aux Focal |
|---|---|---|---|
| Drivable Area | 0.1263 | 0.0302 | 0.0053 |
| Ped Crossing | 0.2466 | 0.0245 | 0.0027 |
| Walkway | 0.2271 | 0.0367 | 0.0056 |
| Stop Line | 0.3556 | 0.0375 | 0.0046 |
| Carpark Area | 0.2160 | 0.0208 | 0.0024 |
| Divider | 0.5140 | 0.0375 | 0.0047 |
检测Loss(Iter 15400)
Heatmap Loss: 0.2425
Classification Loss: 0.0358
BBox Loss: 0.3219
Matched IoU: 0.6143
🗂️ 已保存Checkpoints
Phase 5 (Enhanced)
runs/enhanced_from_epoch19/
├── epoch_23.pth (516MB) ✅ 最终模型
└── configs.yaml
Phase 4a
runs/run-326653dc-2334d461/
├── latest.pth -> epoch_5.pth
├── epoch_5.pth (525MB) ✅ 最新
├── epoch_4.pth (525MB)
├── epoch_3.pth (525MB)
└── configs.yaml
🖥️ GPU使用状态
当前(11-06 07:35):
GPU 0: 77%, 29GB, 46°C, 65W
GPU 1: 95%, 29GB, 45°C, 64W
GPU 2: 95%, 29GB, 47°C, 62W
GPU 3: 96%, 28GB, 46°C, 63W
GPU 4: 80%, 29GB, 47°C, 61W
GPU 5: 95%, 28GB, 46°C, 60W
GPU 6: 95%, 28GB, 47°C, 61W
GPU 7: 95%, 29GB, 48°C, 58W
状态: ✅ 所有GPU正常运行,正在尝试重启训练
🚨 当前问题
1. 重复启动失败
系统在不断尝试重新启动训练,但每次都在同一位置失败:
- 最新尝试: runs/run-326653dc-b7d0a4a4 (11-06 04:00)
- 之前尝试: run-326653dc-a218c953, c4b500a4, b7bf0ce2
- 都没有生成checkpoint(只有configs.yaml和日志)
2. 评估文件过大
- 6019个样本 × 8个GPU = 可能产生48K+个临时文件
- 每个样本的检测+分割结果可能很大
💡 解决方案建议
方案1: 清理空间(推荐)
# 删除中间checkpoint,只保留最新的
cd /workspace/bevfusion/runs/run-326653dc-2334d461
rm epoch_3.pth epoch_4.pth # 释放~1GB
# 清理失败的运行目录
rm -rf runs/run-326653dc-*
# 清理临时文件
find /tmp -name "part_*.pkl" -delete
方案2: 禁用训练时评估
修改配置,仅在特定epoch评估(如每5个epoch):
evaluation:
interval: 5 # 改为5,减少评估频率
方案3: 减少评估样本数
evaluation:
samples_per_gpu: 1
max_samples: 3000 # 限制评估样本数
方案4: 使用更大的tmpdir
# 指定tmpdir到/workspace(更大空间)
export TMPDIR=/workspace/tmp
mkdir -p /workspace/tmp
📋 训练配置对比
| 项目 | Phase 5 Enhanced | Phase 4a Task-GCA |
|---|---|---|
| 配置文件 | multitask_enhanced_phase1_HIGHRES.yaml | multitask_BEV2X_phase4a_stage1_task_gca.yaml |
| 基础模型 | epoch_19.pth | epoch_5.pth (Phase 4a) |
| GPU数量 | 6-8 | 8 |
| Batch Size | 2/GPU | 1/GPU |
| Workers | 0 | 0 |
| 状态 | ✅ 完成 (23 epochs) | ⚠️ 中断 (5 epochs) |
| 特性 | Enhanced Head, ASPP, Attention | Task-GCA, BEV2X |
🎯 下一步行动
立即行动(紧急)
-
✅ 停止无限重启循环
ps aux | grep train.py | grep -v grep | awk '{print $2}' | xargs kill -
🧹 清理磁盘空间
- 删除旧的checkpoints
- 删除失败的运行目录
- 清理临时文件
-
🔧 配置优化
- 减少评估频率或样本数
- 使用专用tmpdir
后续行动
- ✅ 从epoch_5.pth恢复训练
- 📊 监控磁盘使用
- 🎯 完成Phase 4a训练
📞 技术支持
监控命令
# 实时日志
tail -f phase4a_stage1_fp32_resume_*.log | grep "Epoch"
# GPU监控
watch -n 5 nvidia-smi
# 磁盘监控
watch -n 30 'df -h /workspace && du -sh /tmp'
# 训练进程
ps aux | grep train.py
重启训练(清理后)
# 1. 停止当前训练
killall -9 python
# 2. 清理
rm -rf runs/run-326653dc-{a218c953,c4b500a4,b7bf0ce2,b7d0a4a4}
find /tmp -name "*.pkl" -delete
# 3. 重启
bash START_PHASE4A_TASK_GCA_BACKGROUND.sh
总结: Phase 5已成功完成,Phase 4a在Epoch 5因磁盘空间问题中断。建议清理空间后从epoch_5.pth恢复训练。