1.4 KiB
1.4 KiB
Docker重启后环境修复记录
时间: 2025-10-30 11:17
状态: ✅ 已修复
问题描述
Docker重启后,mmcv无法加载:
ImportError: libtorch_cuda_cu.so: cannot open shared object file: No such file or directory
根本原因
mmcv-full 1.4.0编译时期望的PyTorch库文件命名与PyTorch 1.10.1+cu102的实际文件命名不匹配:
mmcv期望:
- libtorch_cuda_cu.so
- libtorch_cuda_cpp.so
- libtorch_cpu_cpp.so
PyTorch实际提供:
- libtorch_cuda.so
- libtorch_cpu.so
- libtorch.so
解决方案
创建符号链接桥接库文件命名差异:
cd /opt/conda/lib/python3.8/site-packages/torch/lib
ln -sf libtorch_cuda.so libtorch_cuda_cu.so
ln -sf libtorch_cuda.so libtorch_cuda_cpp.so
ln -sf libtorch_cpu.so libtorch_cpu_cpp.so
验证结果
$ python -c "from mmcv.ops import nms_match; import mmcv; print('mmcv:', mmcv.__version__)"
✅ mmcv: 1.4.0
$ python -c "from mmdet3d.apis import train_model; print('训练环境就绪')"
✅ 训练环境就绪
环境配置
PyTorch: 1.10.1+cu102
CUDA: 10.2
mmcv-full: 1.4.0
torchvision: 0.11.2
GPU: 8张 Tesla V100S-PCIE-32GB
持久化
这些符号链接会在Docker重启后保留,因为它们位于conda环境中。
如果未来重新安装PyTorch或mmcv,需要重新创建这些链接。
状态: ✅ 环境已完全修复,可以开始训练