bev-project/archive/docs_old/BEVFUSION_TRAINING_STATUS.md

6.3 KiB
Raw Blame History

🚀 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

🔍 问题分析

崩溃原因

  1. 触发点: Epoch 5完成训练15400/15448 iterations, 97.4%
  2. 失败环节: 评估后保存结果到 tmpdir/part_6.pkl
  3. 错误类型: 磁盘写入失败

磁盘空间状态

总空间: 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

可能原因

  1. 空间充足61GB可用不应该是真正的空间不足
  2. ⚠️ 瞬时峰值评估时8个GPU同时写入大文件6019样本 × 8
  3. ⚠️ 临时目录问题:可能某个特定分区满了

📈 训练进度详情

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

检测LossIter 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

🎯 下一步行动

立即行动(紧急)

  1. 停止无限重启循环

    ps aux | grep train.py | grep -v grep | awk '{print $2}' | xargs kill
    
  2. 🧹 清理磁盘空间

    • 删除旧的checkpoints
    • 删除失败的运行目录
    • 清理临时文件
  3. 🔧 配置优化

    • 减少评估频率或样本数
    • 使用专用tmpdir

后续行动

  1. 从epoch_5.pth恢复训练
  2. 📊 监控磁盘使用
  3. 🎯 完成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恢复训练。