一.CUDA的安装

pytorch官网建议最好使用的是英伟达(NVIDIA)的显卡,说一下我自己的配置:显卡NVIDIA GTX1050ti

1.查看当前显卡所需的CUDA版本

首先,去NVIDIA控制面板中点击左下角的系统信息,可以看到显卡的名称和其当前的驱动版本。

pytorch显卡性能测试 pytorch支持的显卡_pytorch显卡性能测试


点击***组件***,可以查看到所需CUDA的最高版本(下载CUDA的时候只能选择不高于这个版本的。例如,我的显卡支持安装CUDA11.1版本的,最后我安装的是CUDA10.2版本)

pytorch显卡性能测试 pytorch支持的显卡_pytorch显卡性能测试_02


或者,在命令提示窗口中输入 nvidia-smi,同样可以显示驱动版本和所需CUDA的最高版本。

pytorch显卡性能测试 pytorch支持的显卡_python_03

2.去官网下载所需的CUDA版本

CUDA下载官网,选择自己所需的版本下载安装就好,我下载的是10.2的版本(cuda版本需要与你之后安装的cudatoolskit的版本一致,pytorch官网提供的conda命令要么就是安装cudatoolskit10.2要么就是11.3以上,没看到有11.0,11.1,11.2,这也是我安装10.2版本的原因)。

pytorch显卡性能测试 pytorch支持的显卡_python_04


选项如下

pytorch显卡性能测试 pytorch支持的显卡_pytorch_05


下载后进行安装,安装时如果遇到“You already have a newer version of the NVIDIA Frameview SDK installed”,要把电脑已经存在的FrameView SDK 卸载掉,把C:\Program Files\NVIDIA Corporation\FrameViewSDK文件夹删掉。之后选择自定义安装,全部默认选项就行。安装成功后去看一下电脑的的环境变量。

pytorch显卡性能测试 pytorch支持的显卡_python_06


我当时安装到这个后,在命令行输出 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指令。

pytorch显卡性能测试 pytorch支持的显卡_python_07


测试CUDA是否安装成功的方法就是,Result=PASS代表CUDA安装没问题。

pytorch显卡性能测试 pytorch支持的显卡_windows_08


到这里,CUDA已经安装成功了!

二.CUDNN的安装

cudnn的安装非常简单,只要下个压缩包就行。但是,其一定要和cuda版本兼容。下载网站(需要注册NVIDIA账号后才可下载)。

pytorch显卡性能测试 pytorch支持的显卡_pytorch_09


我下载的是cudnn7的版本。问题来了,有那么多可以兼容cuda10.2的版本,为什么偏偏选择cudnn7的版本呢?这个需要看你安装的pytorch的版本,我安装的是pytorch1.10.1+python3.8的版本,在此版本下可以看出cuda10.2要求cudnn7.0,网站在这(清华大学pytorch安装镜像),可以自行查看对应版本。

pytorch显卡性能测试 pytorch支持的显卡_pytorch_10


下载完后是个压缩包,将其解压缩。

pytorch显卡性能测试 pytorch支持的显卡_pytorch显卡性能测试_11


将解压出来的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支持的显卡_pytorch显卡性能测试_12

然后activate你刚创建的虚拟环境(先activate base环境)

pytorch显卡性能测试 pytorch支持的显卡_pytorch_13


pytorch显卡性能测试 pytorch支持的显卡_windows_14


以我自己为例,接下来就是在 pytorch_gpu这个环境下安装pytorch。pytorch下载官网,一般不下最新版本,选择老版本。

pytorch显卡性能测试 pytorch支持的显卡_pytorch显卡性能测试_15

pytorch显卡性能测试 pytorch支持的显卡_python_16

本文最需要注意的点来了!!!

按照官网的指令(如下)安装的话,会默认给你安装cpu版本的,这就是最贼的点,所以我们不能严格按照官网所给的命令安装。

conda install pytorch=1.10.1 torchvision=0.11.2 torchaudio=0.10.1 cudatoolkit=10.2 -c pytorch

解决步骤如下:

  1. 先在你的虚拟环境中输入 conda install pytorch cudatoolkit=10.2 ,回车后根据步骤来即可,这里下载的pytorch默认是cpu版的,你可以通过 conda list 查看。
  2. 清华大学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的虚拟环境下)

pytorch显卡性能测试 pytorch支持的显卡_深度学习_17


依次执行下列命令行:

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.

pytorch显卡性能测试 pytorch支持的显卡_python_18