目录
1--前言
2--安装前的工作
2-1--安装10.2版本的Cuda及Cudnn
2-2--安装Microsoft C++ 生成工具
2-3--添加MSVC的路径至环境变量(PATH)
3--基于官方文档安装mmcv-full
3-1--安装mmcv虚拟环境和pytorch
3-2--下载mmcv-full安装压缩包
3-3--基于官方文档Otion3安装mmcv-full
4--参考链接
电脑原配置:
①系统:Win11家庭中文版
②Cuda版本:11.4.158(安装将改用10.2的版本)
③显卡:RTX3060
④CPU:11th Gen Intel(R) Core(TM) i7-11800H @ 2.30GHz 2.30 GHz
这里主要是为了完成官方文档下图的准备工作:
NVIDIA CUDA驱动版本下载地址:https://developer.nvidia.com/cuda-toolkit-archive
cudnn下载地址 :https://developer.nvidia.com/rdp/cudnn-archive
注1:安装Cuda10.2是为了便于之后的安装操作,若之前已安装高版本的Cuda,建议多安装一个10.2的Cuda版本,因为本人一开始使用了Cuda11.4,也配套安装了相应的Pytorch版本,但由于不知名原因,导致安装不成功,所以本人更推荐多安装一个Cuda10.2。(安装方法参照链接)
注2:若安装了多个Cuda版本,需在高级系统设置中,更改系统变量和环境变量,切换成Cuda10.2的版本,如下图所示:
下载地址:2019 VC++生成工具下载地址
除了安装上图的工具,建议安装下图所示另外一个版本的MSVC,避免之后安装过程中会出现的一个问题(unsupported Microsoft Visual Studio version! Only the versions between 2015 and 2019 (inclusive) are supported!)
本人的路径为:C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Tools\MSVC\14.20.27508\bin\HostX86\x64
可参照路径寻找该文件夹,也可依据2-2步骤中安装的路径寻找。
目的:执行cl命令,因为后续安装 python setup.py build_ext 中会用到cl的命令,测试方法如下:
官方文档地址:mmcv-full官方安装文档
①打开Anaconda Powershell Prompt
②安装mmcv虚拟环境及python3.7
conda create --name mmcv python=3.7 # 3.6, 3.7, 3.8 should work too as tested
conda activate mmcv # make sure to activate environment before any operation
③安装pytorch
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=10.2
注:这里安装pytorch的代码与官方文档的不相同
下载地址:https://github.com/open-mmlab/mmcv
①解压压缩包,并在Anaconda Powershell Prompt下进入mmcv虚拟环境,并切换路径至解压的文件夹。
②安装第三方依赖库
pip3 install -r requirements/runtime.txt
pip install -r requirements/optional.txt
①确保环境变量正确,在终端中输入以下代码
ls env:
目的:确保CUDA_PATH和CUDA_HOME的路径为Cuda10.2版本。可通过以下代码修改CUDA_HOME的路径与CUDA_PATH相同,也可以一开始就通过在高级系统设置中修改系统变量得到。
$env:CUDA_HOME = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2"
# OR
$env:CUDA_HOME = $env:CUDA_PATH_V10_2 # if CUDA_PATH_V10_2 is in envs:
②修改CUDA参数,避免CUDA跑炸,代码如下
# Suppose you are using GTX 1080, which is of capability 6.1
$env:TORCH_CUDA_ARCH_LIST="6.1"
# OR build all supported arch, will be slow
$env:TORCH_CUDA_ARCH_LIST="3.5 3.7 5.0 5.2 6.0 6.1 7.0 7.5"
注:由于本人的显卡是RTX3060,理论上是支持8.6的(图中为6.1)。但因为我安装的Cuda版本是10.2,其不支持8.6的计算能力,所以这里依然设置为6.1的计算能力,否则会出现以下错误:
(RuntimeError: Error compiling objects for extension),具体错误是(nvcc fatal : Unsupported gpu architecture 'compute_86')
显卡计算能力的查询地址为:显卡计算能力查询
③执行官方文档Option3第四步的代码
$env:MMCV_WITH_OPS = 1
$env:MAX_JOBS = 8 # based on available number of CPU cores and amount of memory
注:MAX_JOBS的参数大小需要根据自己电脑的CPU设置,比如本人电脑的CPU是11代i7,其为八核十六线程,所以MAX_JOBS的参数为8。(可通过下图所示的任务管理器查看内核大小)
# build
python setup.py build_ext # if success, cl will be launched to compile ops
# install
python setup.py develop
# check
pip list
注1:第③步的所有代码均在mmcv虚拟环境,mmcv-full解压文件夹所在路径下执行。
注2:在执行代码 python setup.py build_ext 的过程中,容易出现一个错误:(RuntimeError: Error compiling objects for extension)具体错误是(unsupported Microsoft Visual Studio version! Only the versions between 2015 and 2019 (inclusive) are supported!) ,其原因就是我上文提到的MSVC的版本过高,建议使用2019低版本的MSVC,另一个解决方法可参照链接的回答,更改Cuda路径的host_config.h即可(改大数值,比如本人修改为2330)。
官方文档
前人安装经验
前人视频讲解安装
建议:可结合上述三个参考链接,及本人的博客进行安装。谢谢!