pyTorch的GPU模式安装记录

  • 1. 安装CUDA
  • 2. 安装cuDNN
  • 3. 安装pyTorch
  • 4. 显卡驱动设置
  • 测试CUDA是否安装成功
  • 后记


torchrun指定GPU gpu torch_torchrun指定GPUtorchrun指定GPU gpu torch_深度学习_02

torchrun指定GPU gpu torch_torchrun指定GPUtorchrun指定GPU gpu torch_pytorch_04 模式需要先安装 torchrun指定GPU gpu torch_pytorch_05torchrun指定GPU gpu torch_CUDA_06,然后才安装 torchrun指定GPU gpu torch_torchrun指定GPU_07
torchrun指定GPU gpu torch_CUDA_08

1. 安装CUDA

torchrun指定GPU gpu torch_人工智能_09进入到 CUDA Toolkit Archive 选择想要下载的torchrun指定GPU gpu torch_pytorch_10版本:

torchrun指定GPU gpu torch_CUDA_08

torchrun指定GPU gpu torch_CUDA_12


torchrun指定GPU gpu torch_人工智能_09由于目前 torchrun指定GPU gpu torch_torchrun指定GPU_07torchrun指定GPU gpu torch_深度学习_15 文件只支持到11.0版本(见第 3 节),因此选择cuda_11.0.2_451.48_win10

torchrun指定GPU gpu torch_CUDA_08

torchrun指定GPU gpu torch_torchrun指定GPU_17

torchrun指定GPU gpu torch_CUDA_08

2. 安装cuDNN

torchrun指定GPU gpu torch_人工智能_09进入到 cuDNN Download 选择想要对应的 torchrun指定GPU gpu torch_CUDA_06 版本(需要注册nvidia会员登陆才能下载):

torchrun指定GPU gpu torch_CUDA_08

torchrun指定GPU gpu torch_torchrun指定GPU_22


torchrun指定GPU gpu torch_人工智能_09由于 torchrun指定GPU gpu torch_pytorch_10 选择了11.02版,因此 torchrun指定GPU gpu torch_CUDA_06 选择对应的8.0.5版cudnn-11.0-windows-x64-v8.0.4.30

torchrun指定GPU gpu torch_CUDA_08

torchrun指定GPU gpu torch_CUDA_27


torchrun指定GPU gpu torch_人工智能_09将cudnn-11.0-windows-x64-v8.0.4.30解压后的cuda文件夹下的3个目录(bin,include,lib)拷贝到中C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.0中:

torchrun指定GPU gpu torch_CUDA_08

torchrun指定GPU gpu torch_pytorch_30

torchrun指定GPU gpu torch_人工智能_09然后,就可以使用nvcc -V查看torchrun指定GPU gpu torch_pytorch_05是否安装成功:

torchrun指定GPU gpu torch_CUDA_08

torchrun指定GPU gpu torch_深度学习_34


torchrun指定GPU gpu torch_CUDA_08

3. 安装pyTorch

torchrun指定GPU gpu torch_人工智能_09进入pyTorch官网torchrun指定GPU gpu torch_CUDA_08

torchrun指定GPU gpu torch_pytorch_38


torchrun指定GPU gpu torch_torchrun指定GPU_39 采用 torchrun指定GPU gpu torch_pytorch_40

torchrun指定GPU gpu torch_CUDA_08pip install torch===1.7.1+cu110 torchvision===0.8.2+cu110 torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

torchrun指定GPU gpu torch_人工智能_09

torchrun指定GPU gpu torch_深度学习_43 安装过程中需要下载torch-1.7.1+cu110-cp37-cp37m-win_amd64.whl文件,由于该文件很大(1.9 G),可以直接到https://download.pytorch.org/whl/torch_stable.html下载:

torchrun指定GPU gpu torch_CUDA_08

torchrun指定GPU gpu torch_torchrun指定GPU_45

由于本机安装的是python3.7.x,如果是其他版本类似

torchrun指定GPU gpu torch_人工智能_09采用 torchrun指定GPU gpu torch_pytorch_40

torchrun指定GPU gpu torch_CUDA_08pip install torch-1.7.1+cu110-cp37-cp37m-win_amd64.whltorchrun指定GPU gpu torch_CUDA_08pip install torchvision===0.8.2+cu110 torchaudio===0.7.2 -f https://download.pytorch.org/whl/torch_stable.html

经过这3个步骤之后,还是经常会出现CUDA安装不成功,torch.cuda.is_available() 测试结果为 False
主要问题在于显卡驱动的版本问题。

torchrun指定GPU gpu torch_人工智能_09

4. 显卡驱动设置

torchrun指定GPU gpu torch_人工智能_09在“NVIDIA控制面板”的“帮助”—“系统信息”中可以看到“驱动版本”和该版本所支持的CUDA版本号:

torchrun指定GPU gpu torch_CUDA_08

torchrun指定GPU gpu torch_CUDA_53


torchrun指定GPU gpu torch_CUDA_08

torchrun指定GPU gpu torch_CUDA_55

安装最新版的驱动程序(显卡GTX850M,460.89-notebook-win10-64bit-international-dch-whql),显卡驱动支持CUDA Toolkit12.0,因此特意找了一个稍微老一点的驱动(451.67-notebook-win10-64bit-international-dch-whql)才能支持CUDA Toolkit11.02,否则无法下载到可以匹配的CUDA Toolkit版本。
 
显卡驱动下载地址:https://www.nvidia.cn/Download/index.aspx?lang=cn

torchrun指定GPU gpu torch_人工智能_09

torchrun指定GPU gpu torch_人工智能_09NVIDIA CUDA Toolkit Release Notes中,可以查到CUDA Toolkit和显卡驱动的匹配关系:

torchrun指定GPU gpu torch_CUDA_08

torchrun指定GPU gpu torch_深度学习_59

测试CUDA是否安装成功

torchrun指定GPU gpu torch_人工智能_09安装完毕之后,在 torchrun指定GPU gpu torch_人工智能_61 中可以查看已安装 torchrun指定GPU gpu torch_torchrun指定GPU_07torchrun指定GPU gpu torch_pytorch_05 的版本:

torchrun指定GPU gpu torch_CUDA_08

torchrun指定GPU gpu torch_CUDA_65

torchrun指定GPU gpu torch_人工智能_09torchrun指定GPU gpu torch_人工智能_61 查看 torchrun指定GPU gpu torch_pytorch_05 是否安装成功:

torchrun指定GPU gpu torch_CUDA_08

torchrun指定GPU gpu torch_CUDA_70

后记

torchrun指定GPU gpu torch_人工智能_09本文只是记录了一个大概可行的流程,在Win10中的三次安装记录如下:

第一次安装:首先更新显卡驱动到最新的460.89,然后安装pyTorch+cu10.2,最后安装CUDA和cuDNN10.2的版本
      但是CUDA安装没成功: torch.cuda.is_available() 结果为 False

第二次安装:把显卡驱动降到了451.67以匹配CUDA 11.02。然后重新安装了pyTorch+cu11.02,虽然之前安装的CUDA Toolkits和cuDNN是10.2的版本
      但是CUDA安装却测试成功: torch.cuda.is_available() 结果为 True

第三次测试:删掉了CUDA和cuDNN10.2的版本,安装了CUDA和cuDNN11.02的版本,CUDA安装测试成功: torch.cuda.is_available() 结果为 True

torchrun指定GPU gpu torch_人工智能_09由于测试较少,准确的安装过程不是特别肯定,似乎是:
 torchrun指定GPU gpu torch_torchrun指定GPU_39 应该先安装好显卡驱动,再安装CUDA和cuDNN,最后安装pyTorch;
 torchrun指定GPU gpu torch_深度学习_43 CUDA Toolkit和显卡驱动版本的匹配很重要(不明白为何最新的显卡驱动不行,而降低了显卡驱动版本反而可以,按说不应该这样)。
torchrun指定GPU gpu torch_人工智能_09
torchrun指定GPU gpu torch_人工智能_09
torchrun指定GPU gpu torch_人工智能_09补充一次成功安装记录 — 2021.6.10

本机显卡驱动466.63,对应 CUDA 11.3.121 driver
(1)安装cuda_11.1.0_456.43_win10
(2)安装cudnn-11.3-windows-x64-v8.2.1.32
(3)安装pyTorch
pip install torch1.8.1+cu111 torchvision0.9.1+cu111 torchaudio===0.8.1 -f https://download.pytorch.org/whl/torch_stable.html

torchrun指定GPU gpu torch_人工智能_09补充 — 2021.12.9
执行前两步之后,还可以接着安装torchrun指定GPU gpu torch_深度学习_79,执行pip install tensorflow-gpu

import tensorflow as tf
tf.config.list_physical_devices('GPU')

可以显示:

torchrun指定GPU gpu torch_人工智能_80