Python运行环境调试完毕后,接下来的重点就是安装本书的主角PyTorch 2.0。由于CPU版本的PyTorch相对GPU版本的PyTorch来说,运行速度较慢,我们推荐安装GPU版本的PyTorch。
由于40系显卡的推出,目前市场上会有Nvidia 10、20、30、40系列显卡并存的情况。对于需要调用专用编译器的PyTorch来说,不同的显卡需要安装不同的依赖计算包,作者在此总结了不同显卡的PyTorch版本以及CUDA和cuDNN的对应关系,如表2-1所示。
表2-1 10/20/30/40系列显卡的版本对比
注意: 这里的区别主要在于显卡运算库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组合的安装过程基本一致。
从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的安装来说,最好根据官方提供的安装代码进行安装,如图2-17所示。在这里PyTorch官方提供了两种安装模式,分别对应CUDA 11.7与CUDA 11.8。
图2-17 PyTorch官网提供的配置信息
从图中可以看到,这里提供了两种不同的CUDA版本的安装,作者经过测试,无论是使用CUDA 11.7还是CUDA 11.8,在PyTorch 2.0的程序编写上没有显著的区别,因此读者可以根据安装配置自行选择。下面以CUDA 11.7为例讲解安装的方法。
(1)CUDA的安装。在百度搜索CUDA 11.7 download,进入官方下载页面,选择合适的操作系统安装方式(推荐使用local本地化安装方式),如图2-18所示。
图2-18 CUDA下载页面
此时下载的是一个.exe文件,读者自行安装,不要修改其中的路径信息,使用默认路径安装即可。
(2)下载和安装对应的cuDNN文件。cuDNN的下载需要先注册一个用户,相信读者可以很快完成,之后直接进入下载页面,如图2-19所示。注意:不要选择错误的版本,一定要找到对应的版本号,另外,如果使用的是Windows 64位的操作系统,那么直接下载x86版本的cuDNN即可。
图2-19 cuDNN下载页面
下载的cuDNN是一个压缩文件,将其解压到CUDA安装目录,如图2-20所示。
图2-20 解压cuDNN文件
(3)配置环境变量,这里需要将CUDA的运行路径加到环境变量Path的值中,如图2-21所示。如果cuDNN是使用.exe文件安装的,那这个环境变量自动就配置好了,读者只要验证一下即可。
图2-21 配置环境变量
(4)安装PyTorch及相关软件。从图2-17可以看到,对应CUDA 11.7的安装命令如下:
conda install pytorch torchvision torchaudio pytorch-cuda=11.7 -c pytorch -c nvidia
如果读者直接安装Python,没有按2.1.1节安装Miniconda,则PyTorch安装命令如下:
pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu117
完成PyTorch 2.0 GPU版本的安装后,接下来验证一下PyTorch是否安装成功。
打开CMD窗口依次输入如下命令可以验证安装是否成功,代码如下:
import torch result = torch.tensor(1) + torch.tensor(2.0) result
结果如图2-22所示。
图2-22 验证结果
或者打开前面安装的PyCharm IDE,新建一个项目,再新建一个hello_pytorch.py文件,输入如下代码:
import torch result = torch.tensor(1) + torch.tensor(2.0) print(result)
最终结果请读者自行验证。