之前记录过mmcv-full 1.2.7 在Win 10 下的安装记录,当时的环境版本太低,现在需要升级,重新安装了mmcv-full 1.3.6,本文记录安装过程。
环境记录 {#环境记录}
- Win 10 专业版
- Python 3.8.5 (Anaconda3-2020.11)
- 显卡型号 GTX 1660
- 显卡驱动 461.92
- CUDA 11.1
- cuDNN 8.0.4
- PyTorch 1.8.1 + cu11.1
- torchvision 0.9.1 + cu11.1
- VS 2019 Community
- MMCV 1.3.6
环境配置 {#环境配置}
按照记录的环境逐步搭建,这是我安装mmcv时的环境,可以根据个人情况酌情调整,注意各个环境之间的版本依赖
Python 3.8.5 {#Python-3-8-5}
- 安装 Anaconda3-2020.11 可以得到配套的 python 3.8.5
其他版本也可以,建议 3.7 以上 python
显卡驱动 {#显卡驱动}
可以参考之前的链接
- 我们的目标是安装CUDA 11.1
- 根据官网CUDA版本与驱动版本的关系表
| | Toolkit Driver Version | | Minimum Required Driver Version* | | |---------------------------------------------------|-----------------------------|-------------------------------|---------------------------------------|-------------------------------| | CUDA Toolkit | Linux x86_64 Driver Version | Windows x86_64 Driver Version | Linux x86_64 Driver Version | Windows x86_64 Driver Version | | CUDA 11.3.0 GA | >=465.19.01 | >=465.89 | >= 450.80.02 | >= 456.38 | | CUDA 11.2.2 Update 2 | >=460.32.03 | >=461.33 | >= 450.80.02 | >= 456.38 | | CUDA 11.2.1 Update 1 | >=460.32.03 | >=461.09 | >= 450.80.02 | >= 456.38 | | CUDA 11.2.0 GA | >=460.27.03 | >=460.82 | >= 450.80.02 | >= 456.38 | | CUDA 11.1.1 Update 1 | >=455.32 | >=456.81 | >= 450.80.02 | >= 456.38 | | CUDA 11.1 GA | >=455.23 | >=456.38 | >= 450.80.02 | >= 456.38 | | CUDA 11.0.3 Update 1 | >= 450.51.06 | >= 451.82 | >= 450.51.06 | >= 451.82 | | CUDA 11.0.2 GA | >= 450.51.05 | >= 451.48 | >= 450.51.06 | >= 451.48 | | CUDA 11.0.1 RC | >= 450.36.06 | >= 451.22 | >= 450.51.06 | >= 451.22 | | CUDA 10.2.89 | >= 440.33 | >= 441.22 | >= 440.33 | >= 441.22 | | CUDA 10.1 (10.1.105 general release, and updates) | >= 418.39 | >= 418.96 | >= 418.39 | >= 418.96 | | CUDA 10.0.130 | >= 410.48 | >= 411.31 | >= 410.48 | >= 411.31 | | CUDA 9.2 (9.2.148 Update 1) | >= 396.37 | >= 398.26 | >= 396.37 | >= 398.26 | | CUDA 9.2 (9.2.88) | >= 396.26 | >= 397.44 | >= 396.26 | >= 397.44 | | CUDA 9.1 (9.1.85) | >= 390.46 | >= 391.29 | >= 390.46 | >= 391.29 | | CUDA 9.0 (9.0.76) | >= 384.81 | >= 385.54 | >= 384.81 | >= 385.54 | | CUDA 8.0 (8.0.61 GA2) | >= 375.26 | >= 376.51 | >= 375.26 | >= 376.51 | | CUDA 8.0 (8.0.44) | >= 367.48 | >= 369.30 | >= 367.48 | >= 369.30 | | CUDA 7.5 (7.5.16) | >= 352.31 | >= 353.66 | >= 352.31 | >= 353.66 | | CUDA 7.0 (7.0.28) | >= 346.46 | >= 347.62 | >= 346.46 | >= 347.62 |
- 我们需要在Win 10 安装 456.81 以上版本的显卡驱动
- 在官网搜索自己的显卡,选择合适的版本下载安装即可
- 我下载的是 461.92 版本的显卡驱动
CUDA 11.1 {#CUDA-11-1}
当前 (2021.06.16)最新 cuda 版本 11.3,pytorch 和 mmcv 还不支持,因此建议当前最高cuda版本11.1
- 在官网下载即可
https://developer.nvidia.com/cuda-downloads
cuDNN 8.0.4 {#cuDNN-8-0-4}
- 针对CUDA 11.1, cuDnn 可选择的版本其实有好几个
- 8.0.4 支持 11.1
- 8.1.1 支持11.0、11.1、11.2
- 8.2.1 支持 11.X
- 以上几个版本应该都可以用,稳妥起见我选择了 8.0.4,其他的没有亲测过
- 具体步骤参考之前的链接
- 官网链接(有时比较慢):https://developer.nvidia.com/zh-cn/cudnn
- 下载后直接粘贴到CUDA文件夹即可
PyTorch 1.8.1 + cu11.1 / torchvision 0.9.1 + cu11.1 {#PyTorch-1-8-1-cu11-1-torchvision-0-9-1-cu11-1}
- 此处一定要安装 1.8 以上的torch
- 因为 mmcv 在CUDA 11.1 下仅支持 1.8 版本的 torch
| CUDA | torch 1.8 | torch 1.7 | torch 1.6 | torch 1.5 | torch 1.4 | torch 1.3 | |------|-----------|-----------|-----------|-----------|-----------|-----------| | 11.1 | install | | | | | | | 11.0 | | install | | | | | | 10.2 | install | install | install | install | | | | 10.1 | install | install | install | install | install | install | | 9.2 | | install | install | install | install | install | | cpu | install | install | install | install | install | install |
-
可以使用官方命令安装
- conda
- pip
-
也可以直接去下载目录选择自己需要的版本:
https://download.pytorch.org/whl/torch_stable.html
VS 2019 Community {#VS-2019-Community}
- 可以参考之前的链接
- 当时下载的专业版,事实证明社区版就足够了
- 安装C++桌面开发功能即可
- 将
C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\Hostx86\x64
添加到环境变量 PATH, 这样 cl.exe 可以在控制台中所有路径中被调用。
网上有说仅安装VS C++ build tools 也可以,我尝试的时候没有成功
安装 MMCV 1.3.6 {#安装-MMCV-1-3-6}
- github 链接: https://github.com/open-mmlab/mmcv
可以重新构建 anaconda 环境
- 下载代码,调整到指定tag,构建基础依赖环境
配置环境变量 {#配置环境变量}
| 变量名称 | 值(需要根据个人情况调整) | |----------------------|--------------------------------------------------------------| | CUDA_HOME | C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1 | | CUDA_PATH | C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1 | | MMCV_WITH_OPS | 1 | | MAX_JOBS | 4 | | path | 记得添加 cl.exe 所在文件夹 | | TORCH_CUDA_ARCH_LIST | 7.5 |
- 其中
TORCH_CUDA_ARCH_LIST
一项表示的是显卡算力,可以在官网查询,我的查不到,可以用CUDA工具查询:
执行:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.1\extras\demo_suite\deviceQuery.exe
- 将
CUDA Capability Major/Minor version number: 7.5
里的值填进TORCH_CUDA_ARCH_LIST
中
编译安装 {#编译安装}
检查安装情况 {#检查安装情况}
- 查看pip包列表
- 查看编译文件,55个
- 查看
_ext.cp38-win_amd64.pyd
文件是否生成
- 上述文件生成正常说明安装成功
正常情况下整个过程纵享丝滑,不需要改任何源码
未解决的问题 {#未解决的问题}
- 其实上述步骤我重复了很多遍,一直提示
error: Microsoft Visual C++ 14.0 is required
尝试各种办法,装了啥都不行 - 最终重装系统解决的问题
- 最后分享我编译的
_ext.cp38-win_amd64.pyd
文件,可以安装mmcv-full之后直接放在安装目录中,不需要编译直接可用
前提是CUDA、python、torch等版本需要和我一致才能用
参考资料 {#参考资料}
- https://blog.csdn.net/lebusini/article/details/117525764
- http://allophane.com/index.php/2021/05/26/win10_build_mmcv-full_from_source/
- https://github.com/open-mmlab/mmcv
文章链接:
https://www.zywvvd.com/notes/environment/cuda/windows-mmcv-1-3-6-install/windows-mmcv-1-3-6-install/