1.4 环境配置之CUDA&cuDNN

有了python环境和开发环境,马上到主角登场。PyTorch登场前,针对GPU版,还需要额外安装一些东西。

从1.1我们知道PyTorch的安装可根据设备类型分为GPU版或CPU版。

CPU

对于CPU版本直接通过pip或者anaconda命令安装即可,如:

>>> pip3 install torch torchvision torchaudio

具体的命令可查阅:https://pytorch.org/get-started/locally/

官网上给出的命令其实安装了3个包,分别是torch, torchvision,torchaudio,这命令会根据当前系统自动选择对应python版本的whl进行安装,不需要用户额外操作。但,如果网速不好,或者需要离线安装,这时可以考虑下载whl包然后自行安装,下载whl的链接:https://download.pytorch.org/whl/torch/

pytorch与torchvision版本匹配

若是手动下载的whl,需要注意pytorch与torchvision之间版本对应关系,这个可以到torchvision Github查看,这点非常重要,CV中一些报错就是因为torchvision与pytorch版本不匹配导致的。这里就copy过来,大家参考好了。

torch torchvision python
main / nightly main / nightly >=3.6, <=3.9
1.10.0 0.11.1 >=3.6, <=3.9
1.9.1 0.10.1 >=3.6, <=3.9
1.9.0 0.10.0 >=3.6, <=3.9
1.8.2 0.9.2 >=3.6, <=3.9
1.8.1 0.9.1 >=3.6, <=3.9
1.8.0 0.9.0 >=3.6, <=3.9
1.7.1 0.8.2 >=3.6, <=3.9
1.7.0 0.8.1 >=3.6, <=3.8
1.7.0 0.8.0 >=3.6, <=3.8
1.6.0 0.7.0 >=3.6, <=3.8
1.5.1 0.6.1 >=3.5, <=3.8
1.5.0 0.6.0 >=3.5, <=3.8
1.4.0 0.5.0 ==2.7, >=3.5, <=3.8
1.3.1 0.4.2 ==2.7, >=3.5, <=3.7
1.3.0 0.4.1 ==2.7, >=3.5, <=3.7
1.2.0 0.4.0 ==2.7, >=3.5, <=3.7
1.1.0 0.3.0 ==2.7, >=3.5, <=3.7
<=1.0.1 0.2.2 ==2.7, >=3.5, <=3.7

举一反三,torchaudio、torchtext同理。

GPU版本

深度学习之所以能火,是因为有了强大的GPU支撑,自然地,绝大多数情况下我们会安装GPU版本的pytorch。目前PyTorch不仅支持NVIDIA的GPU,还支持AMD的ROCm的GPU。不过我们还是以N卡为例,毕竟N卡还是主流,A卡仍需努力。

对于N卡,什么型号是pytorch支持的呢?首先,需要计算能力(compute capability)≥3.0的GPU。很多地方都会看到计算能力≥3.0,理论出自哪呢? 我在官方文档中找到了相关信息文档

It has a CUDA counterpart, that enables you to run your tensor computations on an NVIDIA GPU with compute capability >= 3.0

问题来了,怎么知道自己的GPU的compute capability呢?请看NVIDA文档,选择你对应的系列,找到对应型号。

举几个例子:

GPU 计算能力
GeForce RTX 2080 7.5
GeForce RTX 2070 7.5
GeForce RTX 2060 7.5
GeForce GTX 1080 6.1
GeForce GTX 1070 6.1
GeForce GTX 1060 6.1

其实,只要是近几年购买的N卡都是没有问题的。确定了显卡是支持的,接下来就要决定一个非常重要事情,就是选中对应的CUDA版本进行安装。

CUDA

CUDA(ComputeUnified Device Architecture),是NVIDIA推出的运算平台。 CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。

与之配套的是cuDNN, NVIDIA cuDNN是用于深度神经网络的GPU加速库。它强调性能、易用性和低内存开销。NVIDIA cuDNN可以集成到更高级别的机器学习框架中。

细心的朋友在PyTorch官网就能发现, Compute Platform中并不给出显卡型号,而是给出CUDA版本,这就要求我们安装特定版本的CUDA,才能使用特定版本的PyTorch。例如PyTorch 1.10 只支持CUDA 10.2, CUDA 11.3,以及CUDA 11.1。为什么这里用了以及呢? 因为在官网上并没有显示CUDA 11.1,但是在https://download.pytorch.org/whl/torch,搜索,可以看到11.1的whl。

只有10.2

123

在这里选择10.2版本进行安装,CUDA下载通过官网,官网通常只显示最新版本cuda,这里需要大家进入具体的版本下载界面,拖到底部,找到:

接着可以找到对应的CUDA版本,进入下载即可,这Installer Type 有 exe (network) 和 exe (local)两种选择,我们选local的方式,下载2.6G的cuda_10.2.89_441.22_win10.exe即可。

安装方式十分简单,一直下一步即可,只需要记住安装到了哪里,这里默认路径为

C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2

下面来测试一下CUDA安装是否成功,可以打开命令窗,进入C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\bin,然后输入

nvcc -V

cuDNN

有了CUDA平台,还需要安装cuDNN,cuDNN全称为NVIDIA CUDA Deep Neural Network (cuDNN) 。它是一个深度神经网络的加速库,里边实现了神经网络常用的操作,并且是高度优化的,可以极大地榨干NVIDA显卡的性能,因此用N卡都会用cuDNN库。

cuDNN库的安装非常简单,与其说是安装,不如说是下载库文件,放到CUDA所在的目录下。具体步骤如下:

  1. 打开网址:https://developer.nvidia.com/cudnn,点击右上角,需要注册,再登录。

  2. 登录后,点击Download cuDNN,跳转到下载页面,选择好cudnn版本,操作系统版本,即可开始下载

  3. 将下载好的压缩包cudnn-10.2-windows10-x64-v8.2.4.15.zip 解压

  4. 分别将bin、include、lib\x64下的文件分别对应拷贝到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2文件夹下的bin、include、lib\x64下

    到这里CuDNN安装完毕。

CUDA 安装验证

​ 接下来运行NVIDIA提供的官方案例,检查CUDA的正常是否正确,这里暂时未找到好的办法验证CuDNN的安装正确与否,CuDNN的验证可在后续pytorch安装好之后,采用代码验证。

​ 打开命令窗口,在C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.2\extras\demo_suite文件夹中分别执行bandwidthTest.exe和deviceQuery.exe。观察到Result=PASS 即表示CUDA安装成功。

1

cuDNN验证

import torch
from torch.nn import Conv2d

# 检查CUDA是否可用
print("CUDA available:", torch.cuda.is_available())

# 检查cuDNN是否启用
print("cuDNN enabled:", torch.backends.cudnn.enabled)

# 创建一个卷积层并移动到GPU
conv = Conv2d(in_channels=3, out_channels=16, kernel_size=3).cuda()

# 创建一个输入张量并移动到GPU
input_tensor = torch.randn(1, 3, 32, 32).cuda()

# 前向传播
output = conv(input_tensor)
print("Output shape:", output.shape)
Copyright © TingsongYu 2021 all right reserved,powered by Gitbook文件修订时间: 2024年04月26日21:48:10

results matching ""

    No results matching ""