一文理清CUDA环境配置(Linux/Windows,包括pytorch、mmdetection等)
写在开头:
本文系本人经大半年的学习后,对之前两篇环境配置相关博客的提炼、归纳与总结,由于CSDN编辑器过于难用(还存在不少很影响编辑体验的bug),故转战知乎
(但是知乎的编辑器也不算很好用,什么时候能像语雀一样就好了)
之前的两篇博客:
【Ubuntu 3090 CUDA配置】一文缕清 驱动+CUDA Toolkit+cuDNN+pytorch+cudatoolkit 环境配置流程
【Win10+RTX3090】Windows下最新版本mmdetection的安装/环境配置流程_幻灯片-CSDN博客
基本知识
什么是CUDA
CUDA全称Compute Unified Device Architecture,是由NVIDIA推出的一种计算架构,通过CUDA我们可以使用NVIDIA GPU进行计算,至于GPU相比起CPU的性能优势,本文不展开赘述
如何使用CUDA
显卡驱动,否则无法使用GPU进行计算程序代码(.cu和.cuh文件)编译代码,类似于C++程序需要编译才能运行,这个过程需要CUDA Toolkit发布编译好的程序,其他人就可以下载并直接运行,不再需要代码和CUDA Toolkit,但仍需要显卡驱动
什么是CUDA Toolkit
简单地,可以将CUDA Toolkit视为开发CUDA程序的工具包(类似于VS之于C++),但我们不仅在开发CUDA程序时需要CUDA Toolkit,很多时候,由于硬件、软件环境的不同,他人编译好的CUDA程序我们是不能直接运行的,于是我们就要在自己的计算机上编译他人写好的CUDA代码
显卡型号-CUDA版本-驱动版本关系
显卡型号、算力、CUDA版本关系:https://en.wikipedia.org/wiki/CUDA#GPUs_supportedCUDA、驱动版本关系(Table 3. CUDA Toolkit and Corresponding Driver Versions):https://docs.nvidia.com/cuda/cuda-toolkit-release-notes/index.htmlcuDNN、CUDA版本关系:下载时选择即可
选择流程:显卡型号 -> 算力 -> CUDA -> 驱动 -> cuDNN
(由于算力原因,一些型号较老的显卡不能使用新版本的CUDA,一些型号较新的显卡也不能使用老版本的CUDA)
CUDA Toolkit安装
1. 下载CUDA Toolkit并安装(无需事先安装驱动,CUDA Toolkit安装包带有驱动):https://developer.nvidia.com/cuda-toolkit-archive
2. 下载cuDNN并解压到CUDA Toolkit目录下:https://developer.nvidia.com/rdp/cudnn-download
3. 配置环境变量(以11.3版本为例,注意替换版本号):Linux:
i. 在文件末添加:
ii. 执行或重启终端以应用更改
iii. 安装程序应该会自动设置软链接: Windows:
i. 安装程序应该会自动添加如下2个环境变量:
ii. 安装程序应该会自动在Path环境变量中添加如下两项:
CUDA Toolkit版本切换
可按需切换到其他已安装的CUDA Toolkit版本(以切换到11.1版本为例):Linux:
1. 修改中的CUDA Toolkit版本:
2. 执行或重启终端以应用更改,可通过确认当前版本
3. 修改软链接(注:软链接的修改很可能会影响到服务器上的其他用户,谨慎修改!)
Windows:
1. 修改CUDA_PATH环境变量
2. 调整Path环境变量的顺序,将以下两项移至最上方
3. 重启cmd或PowerShell以应用更改,可通过确认当前版本
pytorch安装
cudatoolkit说明
请先查看《基本知识》cudatoolkit即一些编译好的CUDA程序,当系统上存在兼容的驱动时,这些程序就可以直接运行安装pytorch会同时安装cudatoolkit,且pytorch的GPU运算直接依赖cudatoolkit,因此无需安装CUDA Toolkit即可使用pytorch进行深度学习
安装流程
选择CUDA版本,确认系统上存在兼容的驱动根据选择的CUDA版本,按照官网的指示安装即可:https://pytorch.org/get-started/locally/
mmdetection安装
mmdetection(下简称mmdet)依赖于mmcv-full,由于mmcv-full与mmdet都需要编译CUDA代码,所以必须先安装CUDA Toolkit
Linux下的安装
Linux下较为简单:
1. 确认系统上已安装CUDA Toolkit,并切换到所需版本
2. 创建conda环境并安装pytorch:https://pytorch.org/get-started/locally/
3. 按照指示安装mmcv-full:https://github.com/open-mmlab/mmcv#installation
a. 直接安装编译好的whl(注意替换cuda版本和torch版本)
b. 若出现问题(包括后续安装mmdet、测试mmdet时报错),本地编译安装,需要十分钟左右:pip install mmcv-full
c. 若还出现问题(极少),下载mmcv源码并视情况修改,build from source
4. 按照指示安装mmdet:https://github.com/open-mmlab/mmdetection/blob/master/docs/en/get_started.md
a. 根据mmcv-full的版本选择mmdet版本
b. 下载mmdet源码,本地开发模式编译安装
5. 测试mmdet:https://github.com/open-mmlab/mmdetection/blob/master/docs/en/get_started.md#verification
Windows下的安装
Windows下略复杂,主要参考MMLab官方提供的教程:https://zhuanlan.zhihu.com/p/308281195、https://mmcv.readthedocs.io/en/latest/get_started/build.html#build-on-windows
1. 安装Git:https://git-scm.com/download/win,需勾选Git from the command line and also from 3rd-party software
2. 确认已添加至Path环境变量中,即cmd可以使用指令
3. 安装VS 2019:https://visualstudio.microsoft.com/zh-hans/downloads/,需勾选使用C++的桌面开发及其中的MSVC生成工具
4. 将添加到Path环境变量中(注意替换版本),则cmd可以使用指令
5. 安装Anaconda:https://www.anaconda.com/products/individual#Downloads,需勾选Add Anaconda3 to my PATH environment variable
6. 确认、、、、已添加至Path环境变量中,即cmd可以使用指令
7. 重新执行CUDA Toolkit安装程序,以安装下图所示的Visual Studio Integration
8. 若需要切换CUDA Toolkit版本进行编译,如上文所述修改环境变量即可
9. 创建conda环境并安装pytorch:https://pytorch.org/get-started/locally/
10. 按照指示安装mmcv-full:https://github.com/open-mmlab/mmcv#installation
a. 打开PowerShell(不要使用cmd,cmd不支持部分语法)
b. 直接安装编译好的whl(注意替换cuda版本和torch版本)
c. 若出现问题(包括后续安装mmdet、测试mmdet时报错),本地编译安装,需要十分钟左右:
d. 若还出现问题,下载mmcv源码并视情况修改,build from source(这里必须用PowerShell)
11. 按照指示安装mmdet:https://github.com/open-mmlab/mmdetection/blob/master/docs/en/get_started.md
a. 根据mmcv-full的版本选择mmdet版本
b. 下载mmdet源码,本地开发模式编译安装
12. 测试mmdet:https://github.com/open-mmlab/mmdetection/blob/master/docs/en/get_started.md#verification,结果如下图所示
其他
nvidia-smi与nvcc -V显示的CUDA版本不一致
显示的是驱动版本对应的CUDA版本,即当前驱动支持的最新CUDA版本
显示的是目前设置的CUDA Toolkit版本(nvcc程序在目录cuda/bin/下)
2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/94709.html