1.3 PyTorch安装
PyTorch提供了一个简洁快速的安装过程,这也是PyTorch的优势之一。PyTorch支持Windows、Linux、MacOS等操作系统,目前为止最新版本的PyTorch对各类操作系统的要求如下。
1.Windows操作系统
Windows 7及以上版本,推荐Windows 10或更高版本。
Windows Server 2008 R2及更高版本。
2.Linux操作系统
glibc >= v2.17的Linux发行版支持安装PyTorch,其中包括Ubuntu 13.04及以上版本,具体的支持版本列表参见PyTorch官方文档。
3.MacOS操作系统
MacOS 10.15(Catalina)或更高版本支持PyTorch。
安装PyTorch之前需先安装Python,推荐使用Python 3.7以上的64位版本。本书推荐使用Miniconda搭建Python环境。Miniconda是最小的Conda安装程序,它提供了类似沙盒的环境,避免了在旧的Python环境中安装可能会遇到的库依赖冲突等问题,对初学者十分友好。Miniconda本身包含Python,安装Miniconda后将获得Conda包管理工具和Python环境。
可在Miniconda官网(网址为https://docs.conda.io/en/latest/miniconda.html)下载适合读者当前系统的、64位的、使用Python 3的Miniconda安装包,Miniconda官网下载页面截图如图1-1所示。
图1-1 Miniconda官网下载页面
Miniconda的安装比较简单,Windows平台下双击安装包,根据提示单击“下一步”按钮,使用默认设置安装即可。Linux平台使用bash命令安装,安装过程中会询问是否添加到系统环境,选择“y”选项即可添加到系统环境。MacOS平台下载PKG的安装包安装即可。安装好Miniconda后,我们就安装完Python环境了。Windows平台下可在程序中搜索Anaconda Prompt(miniconda),找到后单击它即可进入命令行环境,如图1-2所示。
图1-2 Anaconda Prompt命令行
注意
图1-2中命令行前面的(base)表示我们已经进入了Miniconda基础环境。在Linux等平台,如果安装Miniconda时选择了添加到系统环境,直接打开终端即可。
1.3.1 CPU版本PyTorch安装
PyTorch分为CPU版本和GPU版本,GPU版本需有NVIDIA显卡硬件支持,如果读者的计算机没有NVIDIA显卡硬件支持,请直接安装CPU版本,安装命令参考PyTorch官网https://pytorch.org/get-started/locally/。
官网为我们提供了安装命令的提示,安装非常方便,无论之后PyTorch的版本如何变化,都建议读者按照官网的提示进行安装,PyTorch官网的CPU版本安装提示如图1-3所示。
图1-3 PyTorch官网CPU版本安装提示
在图1-3中,从上到下依次选择安装版本(PyTorch Build)、系统平台(Your OS)、安装方式(Package)、编程语言(Language)以及计算平台(Compute Platform),网页会给出安装命令。例如在图1-3中的PyTorch Build处选择Stable(1.11.0),Your OS处选择Windows,Package处选择Conda,Language处选择Python,Compute Platform处选择CPU,则网页会给出PyTorch 1.11.0的CPU版本的安装命令,如下所示。
> conda install pytorch torchvision torchaudio cpuonly -c pytorch
将这行安装命令复制到Anaconda Prompt命令行或者终端,执行命令即可开始CPU版本的安装,安装过程中如果没有提示下载中断或错误,说明成功地安装了CPU版本的PyTorch。
1.3.2 GPU版本PyTorch安装
GPU版本的PyTorch可以利用NVIDIA GPU强大的计算加速能力,使PyTorch的运行更为高效,尤其是可以成倍提升模型训练的速度。GPU版本需有NVIDIA显卡硬件支持,如果选择安装GPU版本,请确保计算机已安装NVIDIA显卡和显卡驱动并且显卡型号支持CUDA,具体显卡型号是否支持可查询NVIDIA官网。
CUDA是一种由NVIDIA推出的通用并行计算架构,该架构使GPU能够解决复杂的计算问题。使用CUDA,需要安装CUDA Toolkit套件,它会与PyTorch一并使用Conda安装。下面将演示的安装教程仅适用于Windows和Linux平台,MacOS平台GPU版本的安装需要从源码构建。
GPU版本的安装依然通过在PyTorch官网安装页面(https://pytorch.org/get-started/locally/)选择安装命令进行安装,PyTorch官网的GPU版本安装提示如图1-4所示。
图1-4 PyTorch官网GPU版本安装提示
在图1-4中,从上到下依次选择安装版本(PyTorch Build)、系统平台(Your OS)、安装方式(Package)、编程语言(Language)以及计算平台(Compute Platform),即在PyTorch Build处选择Stable(1.11.0),Your OS处选择Windows,Package处选择Conda,Language处选择Python,Compute Platform处选择CUDA 11.3,则网页会给出如下安装命令。
> conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
将这行安装命令复制到Anaconda Prompt命令行或者终端,执行命令即可完成GPU版本的安装。安装过程中需要从Anaconda提供的官方源下载PyTorch和CUDA Toolkit等安装包,这些包都比较大,如果发生了网络中断,读者可尝试重新执行安装命令再次安装。读者在选择CUDA版本时有以下3点要特别注意。
(1)目前NVIDIA 30系显卡不支持CUDA 10.2,即30系显卡必须选择CUDA 11.3(或更高版本,未来可能添加)。
(2)Windows平台只能选择CUDA 11.3或更高版本。
(3)关于CUDA的选择,在本书写作时仅有图1-4中显示的10.2和11.3两个版本,未来可能会发生变化,总的原则是,尽量选择高版本的CUDA。
1.3.3 安装辅助库和安装测试
以上为CPU版本和GPU版本的PyTorch的安装过程,读者根据自己的计算机有无NVIDIA显卡选择一个版本安装即可。除此之外,Windows平台还需要安装Microsoft Visual C++(VC_redist.x64.exe),可从微软网站(网址为https://docs.microsoft.com/zh-CN/cpp/windows/latest-supported-vc-redist)下载安装最新支持的Visual C++。在很多时候,读者的计算机可能已经安装过Visual C++,如果安装时提示已经安装了其他版本,那就没有必要重复安装了。
完成PyTorch库的安装后,还需要安装辅助库,如绘图库Matplotlib、数据分析库pandas以及开发编辑工具Jupyter Notebook等,可在Anaconda Prompt命令行或者终端执行以下安装命令。
> pip install pandas matplotlib notebook
至此,环境配置结束。
下面来测试我们的安装是否成功。上面命令已安装了Jupyter Notebook,Jupyter Notebook是基于网页的、用于交互计算的应用程序,其可被应用于全过程计算,即开发、文档编写、运行代码和展示结果。简单来说,Jupyter Notebook以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示。如在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于笔者及时地说明和解释。Jupyter Notebook是本书推荐读者使用的代码编写工具,它对初学者十分友好,是数据分析的标准环境,其使用界面如图1-5所示。
图1-5 Jupyter Notebook使用界面
要打开Jupyter Notebook,首先需要在Anaconda Prompt命令行或终端中执行如下命令。
> jupyter notebook
然后按Enter键,即可在浏览器中打开Jupyter Notebook的Home页面,如图1-6所示。
图1-6 Jupyter Notebook的Home页面
在Home页面右上角的New下拉列表框中选择“Python 3”选项,会打开一个新的编写代码页面,如图1-7所示。
图1-7 Jupyter Notebook编写代码页面
这样我们就新建了一个运行环境(kernel),它只有一个闪着光标的空行,在这一行中输入以下代码即可导入PyTorch。
import torch
按住shift键并按Enter键执行此行代码,如果没有报错且行号前面出现了“[1]”,说明PyTorch安装成功并已导入当前环境,如图1-8所示。
执行完代码后,会在代码下面自动添加一个空行,方便继续编写代码。我们可以构造一个随机初始化的张量来测试PyTorch。在下一行中输入以下代码。
x = torch.rand(5, 3) print(x)
执行以上代码,将看到类似如图1-9所示的输出。
图1-8 导入PyTorch
图1-9 生成并打印随机数
如果安装的是GPU版本,可运行以下代码以确认是否启用了CUDA驱动程序。
torch.cuda.is_available()
执行上面这行代码,如果返回值为True,说明成功安装了GPU版本的PyTorch。