bev-project/archive/docs_old/并行任务计划_20251030.md

7.6 KiB
Raw Blame History

BEVFusion并行任务计划

生成时间: 2025-10-30 14:53
策略: 训练与评估并行充分利用8张GPU


🎯 并行任务概览

任务1: Phase 4A Stage 1 训练 (主任务) 🔄

GPU: 0-3 (4张)
状态: 正在运行
配置: 600×600分辨率, 10 epochs
进度: Epoch 1, iter 850+/30895
显存: ~30GB/GPU @ 93%
利用率: 100%
预计完成: ~9天

任务2: Phase 3 Epoch 23 评估 (并行) 🔄

GPU: 4-7 (4张)
状态: 正在启动
Checkpoint: epoch_23.pth
目的: 获取Phase 3完整性能基线
预计时间: 2-3小时

📊 GPU资源分配

GPU 0: 训练 | 30.4GB | 100% ████████████████████
GPU 1: 训练 | 30.9GB | 100% ████████████████████
GPU 2: 训练 | 30.6GB | 100% ████████████████████
GPU 3: 训练 | 30.7GB | 100% ████████████████████
GPU 4: 评估 | 使用中 | ░░░░ (启动中)
GPU 5: 评估 | 使用中 | ░░░░ (启动中)
GPU 6: 评估 | 使用中 | ░░░░ (启动中)
GPU 7: 评估 | 使用中 | ░░░░ (启动中)

资源利用率: 8/8 GPU (100%利用)


🗓️ 时间线规划

当前 (2025-10-30 14:53)

✅ Stage 1训练: 正常运行
🔄 Epoch 23评估: 正在启动

+2-3小时 (今晚~17:00)

✅ Epoch 23评估完成
📊 获得Phase 3完整baseline性能
   - 3D检测: NDS, mAP, 各类别AP
   - BEV分割: mIoU, 各类别IoU
📋 可以精确对比Stage 1改进

+21小时 (明天~12:00)

✅ Stage 1 Epoch 1完成
📊 Epoch 1验证性能
📊 对比Epoch 23 baseline
📋 决策: 
   - 是否调整GPU数量
   - 是否调整workers
   - 是否调整其他参数

+4.5天

✅ Stage 1 Epoch 5完成
📊 评估性能提升
📋 决策:
   - 如果达标(Stop Line 0.35+): 考虑提前进入Stage 2
   - 如果未达标: 继续训练或调参

+9天

✅ Stage 1完成 (10 epochs)
📊 最终性能评估
📋 规划Stage 2 (800×800)

📈 评估的价值

为什么要评估Epoch 23

1. 获取精确baseline

当前只有训练日志中的粗略指标
需要完整的validation set性能
包括:
  - 各类别详细AP/IoU
  - NDS细分指标
  - 混淆矩阵
  - 失败case分析

2. 精确对比Stage 1改进

Epoch 1性能 vs Epoch 23性能
可以精确量化每个改进的贡献:
  - 分辨率提升的影响
  - Deep Supervision的影响
  - Dice Loss的影响
  - 4层Decoder的影响

3. 指导Stage 1训练

了解Epoch 23的弱点:
  - 哪些场景Stop Line失败
  - 哪些场景Divider失败
  - 是否有特定的数据分布问题

针对性优化Stage 1

4. 充分利用GPU资源

GPU 4-7完全空闲
评估只需2-3小时
几乎零额外成本

🔄 并行任务管理

监控命令

监控训练 (GPU 0-3):

bash monitor_phase4a_stage1.sh
tail -f phase4a_stage1_*.log | grep "Epoch \["

监控评估 (GPU 4-7):

tail -f eval_results/phase3_epoch23_quick_*/eval.log
watch -n 5 'nvidia-smi | grep -A 1 "GPU 4\|GPU 5\|GPU 6\|GPU 7"'

整体监控:

nvidia-smi
ps aux | grep -E "(train.py|test.py)" | grep -v grep

如果评估完成

评估结果位置:

eval_results/phase3_epoch23_quick_TIMESTAMP/
├── eval.log          # 评估日志
├── results.pkl       # 详细结果
└── (可能的其他输出)

查看结果:

# 查看评估摘要
tail -100 eval_results/phase3_epoch23_quick_*/eval.log | grep -E "(NDS|mAP|mIoU)"

# 查看详细指标
cat eval_results/phase3_epoch23_quick_*/eval.log | grep -A 50 "Evaluation results"

📋 更新后的训练计划

Phase 3评估 (并行任务)

  • [🔄] 启动epoch_23.pth评估 (使用GPU 4-7)
  • [⏸️] 等待评估完成 (~2-3小时)
  • [⏸️] 分析详细性能指标
  • [⏸️] 生成baseline报告

Phase 4A Stage 1训练 (主任务)

  • [] 已启动并稳定运行 (GPU 0-3)
  • [🔄] 继续训练至Epoch 1完成 (~21小时)
  • [⏸️] Epoch 1性能验证
  • [⏸️] 对比Epoch 23 baseline
  • [⏸️] 决策是否调整配置
  • [⏸️] Epoch 5中期评估
  • [⏸️] 完成10 epochs

性能对比与分析

  • [⏸️] Epoch 23 vs Epoch 1: 初步改进评估
  • [⏸️] Epoch 23 vs Epoch 5: 中期改进评估
  • [⏸️] Epoch 23 vs Epoch 33: 最终改进评估

Stage 2规划

  • [⏸️] 根据Stage 1结果规划
  • [⏸️] 800×800配置创建
  • [⏸️] Gradient checkpointing实现(可选)

💡 并行评估的优势

时间效率

串行方案:
  训练9天 → 评估3小时 → 分析 = 9天3小时

并行方案:
  训练9天 || 评估3小时 → 分析 = 9天
  节省: 3小时

资源利用

之前: GPU 0-3使用GPU 4-7空闲 (50%利用率)
现在: 全部8张GPU使用 (100%利用率)

决策效率

Epoch 1完成时:
  ✓ 已有Epoch 23 baseline
  ✓ 可立即对比
  ✓ 快速决策是否调整

🎯 评估完成后的行动

立即行动 (评估完成后)

  1. 生成Phase 3详细性能报告

    # 提取关键指标
    grep -A 100 "Evaluation" eval_results/*/eval.log > PHASE3_DETAILED_METRICS.txt
    
  2. 创建对比基准

    记录Epoch 23每个类别的:
    - 3D检测AP (Car, Pedestrian, etc.)
    - BEV分割IoU (每个类别)
    - 困难场景表现
    
  3. 分析改进空间

    识别Epoch 23的主要失败模式
    验证Stage 1的改进是否针对性解决
    

📊 预期评估输出

3D检测指标

NDS (nuScenes Detection Score)
mAP (mean Average Precision)

各类别AP:
  - Car
  - Pedestrian  
  - Truck
  - Bus
  - Trailer
  - Motorcycle
  - Bicycle
  - Traffic Cone
  - Barrier
  - Construction Vehicle

BEV分割指标

整体mIoU

各类别IoU:
  - Drivable Area (期望0.83)
  - Pedestrian Crossing (期望0.57)
  - Walkway (期望0.49)
  - Stop Line (期望0.27) ⭐ 关注
  - Carpark Area (期望0.36)
  - Divider (期望0.19) ⭐ 关注

细粒度分析

- Per-scene性能
- 困难样本识别
- 失败模式分类

🔍 监控并行任务

实时状态查看

训练状态 (主窗口):

watch -n 10 'tail -3 phase4a_stage1_*.log | grep "Epoch \["'

评估状态 (第二窗口):

tail -f eval_results/phase3_epoch23_quick_*/eval.log

GPU状态 (第三窗口):

watch -n 5 nvidia-smi

综合监控脚本:

#!/bin/bash
# monitor_all_tasks.sh

echo "=== 训练状态 (GPU 0-3) ==="
tail -2 phase4a_stage1_*.log | grep "Epoch \[" || echo "训练日志加载中..."

echo ""
echo "=== 评估状态 (GPU 4-7) ==="
tail -20 eval_results/*/eval.log 2>/dev/null | tail -10 || echo "评估日志加载中..."

echo ""
echo "=== GPU使用情况 ==="
nvidia-smi --query-gpu=index,memory.used,utilization.gpu --format=csv,noheader

echo ""
echo "=== 进程统计 ==="
echo "训练进程: $(ps aux | grep train.py | grep -v grep | wc -l)"
echo "评估进程: $(ps aux | grep test.py | grep -v grep | wc -l)"

📝 任务完成checklist

评估任务 (2-3小时)

  • [🔄] 启动评估
  • [⏸️] 等待评估完成
  • [⏸️] 提取性能指标
  • [⏸️] 生成baseline报告
  • [⏸️] 识别改进重点

训练任务 (持续)

  • [] Epoch 1前850 iters
  • [⏸️] Epoch 1完成
  • [⏸️] Epoch 1-5
  • [⏸️] Epoch 5-10
  • [⏸️] Stage 1完成

对比分析 (评估完成后)

  • [⏸️] Epoch 23 vs Epoch 1
  • [⏸️] Epoch 23 vs Epoch 5
  • [⏸️] Epoch 23 vs Epoch 33 (final)

当前状态:

  • 训练正常运行 (GPU 0-3)
  • 🔄 评估正在启动 (GPU 4-7)
  • 📊 充分利用全部8张GPU资源