本次安装配置为
rtx2070+python3.8+pytorch1.9+cuda10.2+mmcv-full1.3.8
网上的一些教程我也参考了不少,但是每个人的配置都是不一样的,所以就会发生不一样的情况.
官网上也没有提供比较新的wheel包,也说了mmcv还没有正式支持win10,最新的windows版本的mmcv官方提供的只有mmcv-full 1.15+torch1.6.0版本
如果懒得安装可以使用官网相应老版本的pytorch和mmcv-full,但是我想说安装个新版本其实也没那么费力。
mmcv-full总是不断更新,建议使用最新版,不建议安装老版本的
下面是一些安装步骤以及我的遇到的一些问题
一、mmcv-full安装步骤:
1.先安装Anaconda
后续要使用到anaconda powershell prompt
2.安装cuda和cudnn
比如我的是cuda 10.2以及对应的cudnn
3.安装VS2019(为了编译环境)
然后将C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29910\bin\Hostx64\x64设置到环境变量
在命令行cmd中输入cl ,得到
说明编译环境安装成功了
4.设置环境变量
设置CUDA_PATH
然后将C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\VC\Tools\MSVC\14.28.29910\bin\Hostx64\x64设置到环境变量
5.以管理员身份打开anaconda powershell(千万别开错了!)
不是cmd或者powershell,是anaconda powershell!
创建虚拟环境
conda create -n mmlab python=3.8 -y conda activate mmlab
安装pytorch
(这里的cudatoolkit根据自己安装cuda版本去设置)
conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch -c conda-forge
克隆mmcv到本地,并安装依赖包
git clone https://github.com/open-mmlab/mmcv.git cd mmcv pip install -r requirements.txt
设置cuda架构
(比如我的rtx2070,对应的是’7.5’)
$env:TORCH_CUDA_ARCH_LIST="7.5"
安装mmcv
$env:MMCV_WITH_OPS = 1 # 设置环境 $env:MAX_JOBS = 8 # 设置环境 python setup.py build_ext # build python setup.py develop # 安装 pip list #查看安装是否成功
这样就是安装成功了
二、主要问题(遇到的一些坑)
1.安装的时候卡在build
如果直接使用
pip install mmcv-full
会发现卡在build中,然后出现一堆红色报错。
问题原因:
没有按照正确的安装流程走
2.根据安装步骤走了
但是安装好后, 虽然显示安装成功,在pip list中也能找到mmcv,但是一运行
出现No module named 'mmcv._ext'
的问题
问题原因
没有按照正常的安装流程走,比如没有设置环境变量$env:MMCV_WITH_OPS = 1
等,
直接这样,安装看起来成功(输出successful install…),实际上失败了
python setup.py build_ext python setup.py develop
出现下图这些内容才算安装成功
出现很多字符,而不是啥都没有.
3.在安装的时候出现编译错误
根据安装流程走了,但是出现的问题
比如出现:
ubprocess.CalledProcessError: Command ‘[‘ninja’, ‘-v’, ‘-j’, ‘8’]’ returned non-zero exit status 1.
subprocess.CalledProcessError: Command ‘[‘ninja’, ‘-v’]’ returned non-zero exit status 1.
等一些ninja或者complie字样的 编译错误.
解决办法:
不推荐去修改源码,建议重新创建一个虚拟环境安装 pytorch最新版本