在安装mmcv-full后,进行单机多卡分布式训练时遇到的问题,主要有两个:
ImportError: /usr/local/anaconda3/envs/py38/lib/python3.8/site-packages/mmcv/_ext.cpython-38-x86_64-linux-gnu.so: undefined symbol: Z27points_in_boxes_cpu_forwardN2at6TensorES0_S0
这个是错误之一,有时可能还是:
ImportError: libtorch_cuda_cu.so: cannot open shared object file: No such file or directory
mmcv官方:https://mmcv.readthedocs.io/en/latest/get_started/installation.html
这些问题归根到底还是mmcv-full和自己安装的pytorch版本不匹配的原因导致的,所以在安装mmcv-full时,尽量不要偷懒,不要直接pip install mmcv-full,先检查好自己的nvidia驱动以及CUDA版本,然后去mmcv的github或者官网去寻找指定的命令去下载,找到匹配的版本下载安装后,就可以正常运行了。
这是通过mmediting调用mmcv正常运行的截图: