在搭建PyTorch深度学习开发环境时,Python运行环境安装完毕后,接下来的重点就是安装PyTorch 2.0。由于CPU版本的PyTorch相对GPU版本的PyTorch来说,运行速度较慢,我们推荐安装GPU版本的PyTorch。
1. Nvidia 10/20/30/40系列显卡选择的GPU版本
由于40系显卡的推出,目前市场上会有Nvidia 10、20、30、40系列显卡并存的情况。对于需要调用专用编译器的PyTorch来说,不同的显卡需要安装不同的依赖计算包,我们在此总结了不同显卡的PyTorch版本以及CUDA和cuDNN的对应关系,如下图所示。
注意:这里的区别主要在于显卡运算库CUDA与cuDNN的区别,当在20/30/40系列显卡上使用PyTorch时,可以安装11.6以上版本以及cuDNN 8.1以上版本的计算包,而在10系列版本的显卡上,建议优先使用2.0版本以前的PyTorch。
下面以CUDA 11.7 + cuDNN 8.2.0组合为例,演示完整的PyTorch 2.0 GPU Nvidia运行库的安装步骤,其他不同版本CUDA+cuDNN 组合的安装过程基本一致。
2. PyTorch 2.0 GPU Nvidia运行库的安装
从CPU版本的PyTorch开始深度学习之旅完全是可以的,但不是作者推荐的方式。相对于GPU版本的PyTorch来说,在运行速度方面CPU版本存在着极大的劣势,很有可能会让读者的深度学习止步于前。
如果读者的电脑不支持GPU,可以直接使用PyTorch 2.0 CPU版本的安装命令:
pip install numpy --pre torch torchvision torchaudio --force-reinstall --extra-index-url https://download.pytorch.org/whl/nightly/cpu
如果读者的电脑支持GPU,则继续下面本小节的重头戏,PyTorch 2.0 GPU版本的前置软件的安装。对于GPU版本的PyTorch来说,由于调用了NVIDA显卡作为其代码运行的主要工具,因此额外需要NVIDA提供的运行库作为运行基础。
对于PyTorch 2.0的安装来说,最好根据官方提供的安装代码进行安装,如下图所示。在这里PyTorch官方提供了两种安装模式,分别对应CUDA 11.7与CUDA 11.8。
从图中可以看到,这里提供了两种不同的CUDA版本的安装,作者经过测试,无论是使用CUDA 11.7还是CUDA 11.8,在PyTorch 2.0的程序编写上没有显著的区别,因此读者可以根据安装配置自行选择。下面以CUDA 11.7为例讲解安装的方法。
(1)CUDA的安装。在百度搜索CUDA 11.7 download,进入官方下载页面,选择合适的操作系统安装方式(推荐使用local本地化安装方式),CUDA下载页面如图2.18所示。
此时下载的是一个.exe文件,读者自行安装,不要修改其中的路径信息,使用默认路径安装即可。
(2)下载和安装对应的cuDNN文件。cuDNN的下载需要先注册一个用户,相信读者可以很快完成,之后直接进入下载页面,如下图所示。注意:不要选择错误的版本,一定要找到对应的版本号,另外,如果使用的是Windows 64位的操作系统,那么直接下载x86版本的cuDNN即可。
下载的cuDNN是一个压缩文件,将其解压到CUDA安装目录,如下图所示。
(3)配置环境变量,这里需要将CUDA的运行路径加到环境变量Path的值中,如下图所示。
如果cuDNN是使用exe文件安装的,那这个环境变量自动就配置好了,读者只要打开系统的环境变量窗口验证一下即可,如下图所示。
(4)安装PyTorch及相关软件,对应CUDA 11.7的安装命令如下:
conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
如果读者直接安装Python,没有安装Miniconda、Anaconda,则PyTorch安装命令如下:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
3. 验证PyTorch 2.0 GPU是否安装成功
完成PyTorch 2.0 GPU版本的安装后,接下来验证一下PyTorch是否安装成功。
import torch
print(torch.__version__)
print(torch.cuda.is_available())
print("是否可用:", torch.cuda.is_available()) # 查看GPU是否可用
print("GPU数量:", torch.cuda.device_count()) # 查看GPU数量
print("torch方法查看CUDA版本:", torch.version.cuda)# torch方法查看
CUDA版本
print("GPU索引号:", torch.cuda.current_device()) # 查看GPU索引号
print("GPU名称:", torch.cuda.get_device_name(0)) # 根据索引号得到GPU名称
上面代码运行结果如下,可验证PyTorch 2.0 GPU版本已经安装成功了。
C:\Users\xiayu\AppData\Local\Programs\Python\Python39\python.exe C:\Users\xiayu\PycharmProjects\PyTorch2.0深度学习从零开始学-源码\第二章\testGPU.py
2.0.1+cu117
True
是否可用:True
GPU数量:1
torch方法查看CUDA版本:11.7
GPU索引号:0
GPU名称:NVIDIA GeForce RTX 3060 Laptop GPU
Process finished with exit code 0
本文节选自《PyTorch 2.0深度学习从零开始学》,这本书内容包括PyTorch概述、开发环境搭建、基于PyTorch的MNIST分类实战、深度学习理论基础、基于PyTorch卷积层的MINIST分类实战、PyTorch数据处理与模型可视化、实战ResNet、有趣的word embedding、基于RNN的中文情感分类实战、自然语言处理的编码器、站在巨人肩膀上的预训练模型Bert、自然语言处理的解码器、基于PyTorch的强化学习实战、基于MFCC的语音唤醒实战、基于PyTorch的人脸识别实战。实战案例丰富,可带领读者快速掌握深度学习算法及其常见案例。
PyTorch 2.0深度学习从零开始学(人工智能技术丛书)——京东