# 环境问题记录 - Phase 4A启动失败 **时间**: 2025-10-30 **问题**: 无法启动Phase 4A训练 **错误**: ImportError: libtorch_cuda_cu.so: cannot open shared object file --- ## 错误详情 ### 完整错误信息 ``` ImportError: libtorch_cuda_cu.so: cannot open shared object file: No such file or directory File "/opt/conda/lib/python3.8/site-packages/mmcv/ops/assign_score_withk.py", line 5, in ext_module = ext_loader.load_ext( ``` ### 已尝试的解决方案 1. ❌ 设置LD_LIBRARY_PATH ```bash export LD_LIBRARY_PATH=/opt/conda/lib:/opt/conda/lib/python3.8/site-packages/torch/lib:$LD_LIBRARY_PATH ``` 2. ❌ 使用完整路径 ```bash /opt/conda/bin/torchpack dist-run -np 6 /opt/conda/bin/python tools/train.py ``` 3. ❌ 使用torch.distributed.launch ```bash python -m torch.distributed.launch --nproc_per_node=6 ``` --- ## 对比: Phase 3成功环境 **Phase 3训练 (成功)**: - 时间: 2025-10-21 ~ 2025-10-29 - 命令: 与Phase 4A相同格式 - 结果: 稳定运行8天,23 epochs完成 - 环境: 相同的Docker容器 **疑问**: - Phase 3和Phase 4A之间环境发生了什么变化? - 是否系统更新或Docker重启? --- ## 诊断建议 ### 立即检查 ```bash # 1. 检查Docker容器状态 docker ps # 2. 检查是否需要重启Docker # (如果之前重启过系统或Docker) # 3. 检查Python环境 which python python --version python -c "import torch; print(torch.__version__)" # 4. 检查库文件 find /opt/conda -name "libtorch_cuda_cu.so" ls -l /opt/conda/pkgs/pytorch-*/lib/python3.8/site-packages/torch/lib/libtorch_cuda_cu.so # 5. 测试简单导入 python -c "from mmcv.ops import nms_match" ``` ### 可能的解决方案 **方案1: 重启Docker容器** ```bash # 退出容器 exit # 重新进入 docker start [容器ID] docker exec -it [容器ID] /bin/bash cd /workspace/bevfusion # 重试 bash start_phase4a_bev2x_fixed.sh ``` **方案2: 重新编译mmcv (最后手段)** ```bash # 这会比较耗时 (1-2小时) pip uninstall mmcv-full -y pip install mmcv-full==1.4.0 -f https://download.openmmlab.com/mmcv/dist/cu113/torch1.10.0/index.html ``` **方案3: 使用不同的启动方式** ```bash # 如果torchpack有问题,直接用PyTorch DDP python -m torch.distributed.run --nproc_per_node=6 --master_port=29500 \ tools/train.py configs/.../multitask_BEV2X_phase4a.yaml \ --launcher pytorch \ --load_from runs/enhanced_from_epoch19/epoch_23.pth ``` --- ## 临时措施 ### 如果无法立即解决 可以先执行其他工作: 1. 分析Phase 3的详细结果 2. 准备实车数据采集计划 3. 研究MapTR集成方案 4. 设计模型压缩方案 ### 或降级方案 如果BEV 2x实在无法启动,可以考虑: 1. BEV 1.5x (0.2m分辨率) - 降低50%计算量 2. 继续Phase 3训练更多epochs 3. 直接进入Phase 4B模型压缩 --- **状态**: 待解决 **优先级**: P0 (最高) **影响**: 阻塞Phase 4A训练 **建议**: 优先解决环境问题,这是后续工作的基础