训练模型时出现No module named 'mmcv._ext'错误求助
解决
No module named 'mmcv._ext'错误的可行方案 确认安装对应CUDA版本的
mmcv-full而非基础版mmcvmmcv轻量版本不包含_ext这类C++扩展模块,必须安装mmcv-full。针对CUDA10.0,需匹配你的PyTorch版本选择预编译包安装,示例命令(以PyTorch 1.7.x为例):pip install mmcv-full==1.4.0 -f https://download.openmmlab.com/mmcv/dist/cu100/torch1.7/index.html若你的PyTorch版本不同,需替换链接中的
torch1.7为对应版本号(如torch1.6)。卸载现有版本后重新安装
先彻底卸载已安装的mmcv相关包:pip uninstall -y mmcv mmcv-full再根据上述步骤安装对应版本的
mmcv-full,避免版本冲突或安装不完整。源码编译安装(预编译包不兼容时)
如果预编译包无法匹配你的环境,可源码编译:- 克隆1.4.0版本的mmcv源码:
git clone -b v1.4.0 https://github.com/open-mmlab/mmcv.git - 进入源码目录:
cd mmcv - 指定CUDA路径(根据你的实际安装路径调整):
export CUDA_HOME=/usr/local/cuda-10.0 - 编译并安装:
pip install -e .
- 克隆1.4.0版本的mmcv源码:
验证环境配置
检查CUDA环境变量是否正确设置:echo $PATH | grep cuda-10.0 echo $LD_LIBRARY_PATH | grep cuda-10.0确保输出包含
/usr/local/cuda-10.0/bin和/usr/local/cuda-10.0/lib64路径。同时查看Python站点包中的mmcv目录,确认存在_ext相关的.so文件,以此验证安装完整性。
内容的提问来源于stack exchange,提问作者Pravin
相关产品推荐
相关产品推荐

