一.CUDA的安装
pytorch官网建议最好使用的是英伟达(NVIDIA)的显卡,说一下我自己的配置:显卡NVIDIA GTX1050ti
1.查看当前显卡所需的CUDA版本
首先,去NVIDIA控制面板中点击左下角的系统信息,可以看到显卡的名称和其当前的驱动版本。
点击组件,可以查看到所需CUDA的最高版本(下载CUDA的时候只能选择不高于这个版本的。例如,我的显卡支持安装CUDA11.1版本的,最后我安装的是CUDA10.2版本)
或者,在命令提示窗口中输入 nvidia-smi,同样可以显示驱动版本和所需CUDA的最高版本。
2.去官网下载所需的CUDA版本
CUDA下载官网,选择自己所需的版本下载安装就好,我下载的是10.2的版本(cuda版本需要与你之后安装的cudatoolskit的版本一致,pytorch官网提供的conda命令要么就是安装cudatoolskit10.2要么就是11.3以上,没看到有11.0,11.1,11.2,这也是我安装10.2版本的原因)。
选项如下
下载后进行安装,安装时如果遇到“You already have a newer version of the NVIDIA Frameview SDK installed”,要把电脑已经存在的FrameView SDK 卸载掉,把C:\Program Files\NVIDIA Corporation\FrameViewSDK文件夹删掉。之后选择自定义安装,全部默认选项就行。安装成功后去看一下电脑的的环境变量。
我当时安装到这个后,在命令行输出 nvcc -V,会直接说nvcc命令不存在,排除掉cuda安装错误(后面有cuda的测试)的问题,那么便是环境变量的问题。需要在系统变量中的Path下添加(根据自己路径进行相应修改):
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\libnvvp
若提示Path路径下超过限制字符长度,那就套娃(教程网上一搜一大把)。
然后再尝试 nvcc -V指令。
测试CUDA是否安装成功的方法就是,Result=PASS代表CUDA安装没问题。
到这里,CUDA已经安装成功了!
二.CUDNN的安装
cudnn的安装非常简单,只要下个压缩包就行。但是,其一定要和cuda版本兼容。下载网站(需要注册NVIDIA账号后才可下载)。
我下载的是cudnn7的版本。问题来了,有那么多可以兼容cuda10.2的版本,为什么偏偏选择cudnn7的版本呢?这个需要看你安装的pytorch的版本,我安装的是pytorch1.10.1+python3.8的版本,在此版本下可以看出cuda10.2要求cudnn7.0,网站在这(清华大学pytorch安装镜像),可以自行查看对应版本。
下载完后是个压缩包,将其解压缩。
将解压出来的bin, include, lib\x64 文件下的内容分别复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2目录下的bin, include, lib\x64 文件下即可,并且在环境变量的path中添加下面两个路径:
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\lib\x64
这样之后,CUDNN也安装成功咯!
三.安装pytorch
首先用conda(默认你已经装了anaconda)创建一个虚拟python环境,我自己选择了python3.8,可以在此网站查看,pytorch版本对应所需的python版本。补充!!! 现在pytorch官网可以通过命令行直接安装pytorch GPU版本,例如这行命令:pip install torch==1.13.1+cu116 torchvision==0.14.1+cu116 torchaudio==0.13.1
. 看见+cu11这种装的就直接是GPU版本,不需要如下换安装包的操作。注意版本的对应!
然后activate你刚创建的虚拟环境(先activate base环境)
以我自己为例,接下来就是在 pytorch_gpu这个环境下安装pytorch。pytorch下载官网,一般不下最新版本,选择老版本。
本文最需要注意的点来了!!!
按照官网的指令(如下)安装的话,会默认给你安装cpu版本的,这就是最贼的点,所以我们不能严格按照官网所给的命令安装。
conda install pytorch=1.10.1 torchvision=0.11.2 torchaudio=0.10.1 cudatoolkit=10.2 -c pytorch
解决步骤如下:
- 先在你的虚拟环境中输入 conda install pytorch cudatoolkit=10.2 ,回车后根据步骤来即可,这里下载的pytorch默认是cpu版的,你可以通过 conda list 查看。
- 在清华大学pytorch安装镜像中找到对应pytorch的GPU版,从而替换原来的CPU版。我们需要找三个压缩包,分别是 pytorch,torchvision,torchaudio,这三个包也有相应的版本制约,怎么找各自需要的版本呢?去pytorch的官网(上述有提到)。举例,如下图,cudatoolkit10.2已经定死了,如果你要安装pytorch1.11.0的版本的话,你则对应的需要torchvision0.12.0和torchaudio0.11.0版本。
以我自己为例,我下载的版本为pytorch1.10.1,则我需要在镜像网站上下载如下三个文件:
pytorch-1.10.1-py3.8_cuda10.2_cudnn7_0.tar.bz2
torchvision-0.11.2-py38_cu102.tar.bz2
torchaudio-0.10.1-py38_cu102.tar.bz2
然后在命令行cd到下载目录(记住,一定要在你要装pytorch的虚拟环境下)
依次执行下列命令行:
conda install --offline pytorch-1.10.1-py3.8_cuda10.2_cudnn7_0.tar.bz2
conda install --offline torchvision-0.11.2-py38_cu102.tar.bz2
conda install --offline torchaudio-0.10.1-py38_cu102.tar.bz2
然后就大功告成啦!
四.测试pytorch和CUDA
进入python编码状态,测试torch是否可用,无论pytorch是cpu还是gpu版,torch都可以使用。主要是测试cuda是否可用,输入torch.cuda.is_available()即可,若pytorch安装的是cpu版则此处会输出Flase,若装的是gpu版则会输出True.