对于初学者,尤其是自学的情况下,搭建适合自己的开发环境是非常必要的。本节介绍如何搭建基于PyTorch 1.9的深度学习开发环境,包括安装Python 3.10,以及Jupyter Lab等工具。
本书中使用的Python版本是截至2021年10月份的新版本(即Python 3.10.0)。下面介绍其具体的安装步骤,安装环境是Windows 11家庭版64位操作系统。
Python需要安装包到计算机磁盘根目录或英文路径文件夹下,即安装路径不能有中文。
首先需要下载Python 3.10.0,官方网站的下载地址如图1-3所示。
图1-3 下载Python软件
右击python-3.10.0-amd64.exe,选择“以管理员身份运行”,如图1-4所示。
图1-4 运行安装程序
打开Python 3.10.0安装界面,勾选Add Python 3.10 to PATH,然后单击Customize installation,如图1-5所示。
图1-5 自定义安装
根据需要选择自定义的选项,其中pip必须勾选,然后单击Next按钮,如图1-6所示。
图1-6 功能选项
选择软件安装位置,默认安装在C盘,单击Browse按钮可更改软件的安装目录,然后单击Install按钮,如图1-7所示。
图1-7 高级选项
稍等片刻,出现Setup was successful对话框,说明正常安装,单击Close按钮即可,如图1-8所示。
图1-8 安装结束
在命令提示符中输入“python”后,如果出现如图1-9所示的信息,即Python版本信息,则说明安装没有问题,可以正常使用Python。
图1-9 查看版本信息
在Python中可以使用pip与conda工具安装第三方库(如NumPy、Pandas等),命令如下:
pip install 库的名称 conda install 库的名称
此外,如果无法正常在线安装第三方库,可以下载新版本的离线文件,然后再安装,适用于Python扩展程序包的非官方Windows二进制文件如图1-10所示。
图1-10 非官方扩展程序包
Jupyter Lab是Jupyter Notebook的新一代产品,它集成了更多功能,是使用Python(R、Julia、Node等其他语言的内核)进行代码演示、数据分析、数据可视化等的很好的工具,对Python的愈加流行和在AI领域的领导地位有很大的推动作用,它是本书默认使用的代码开发工具。
Jupyter Lab提供了较好的用户体验,例如可以同时在一个浏览器页面打开编辑多个Notebook、IPython Console和Terminal终端,并且支持预览和编辑更多种类的文件,如代码文件、Markdown文档、JSON文件和各种格式的图片等,可以极大地提升工作效率。
Jupyter Lab的安装比较简单,只需要在命令提示符(CMD)中输入“pip install jupyterlab”命令即可,它会继承Jupyter Notebook的配置,如地址、端口、密码等。启动Jupyter Lab的方式也比较简单,只需要在命令提示符中输入“jupyter lab”命令即可。
Jupyter Lab程序启动后,浏览器会自动打开编程窗口,如图1-11所示。可以看出,Jupyter Lab左边是存放笔记本的工作路径,右边就是我们需要创建的笔记本类型,包括Notebook和Console等。
图1-11 Jupyter Lab界面
可以对Jupyter Lab的参数进行修改,如远程访问、工作路径等,配置文件位于C盘系统用户名下的。jupyter文件夹中,文件名称为jupyter_notebook_config.py。
如果配置文件不存在,就需要自行创建,在命令提示符中输入“Jupyter Notebook--generate-config”命令生成配置文件,还会显示出文件的存储路径及名称。
如果需要设置密码,则在命令提示符中输入“Jupyter Notebook password”命令,生成的密码存储在jupyter_notebook_config.json文件中。
如果需要允许远程登录,则需要在jupyter_notebook_config.py中找到下面的几行,取消注释并根据项目的实际情况进行修改,修改后的配置如下:
c.NotebookApp.ip = '*' c.NotebookApp.open_browser = False c.NotebookApp.port = 8888
如果需要修改Jupyter Lab的默认工作路径,找到下面的代码,取消注释并根据项目的实际情况进行修改,修改后的配置如下:
c.NotebookApp.notebook_dir = u'D:\\轻松学会PyTorch人工智能深度学习应用开发'
上述配置参数修改后,需要关闭并重新启动Jupyter Lab才能生效。
2021年11月初,PyTorch团队发布了1.10版本,该版本整合了自2021年10月1.9版本发布以来的3400多次代码提交与完善,由426位贡献者完成。
PyTorch 1.10集成了CUDA Graphs API以减少CUDA工作负载的CPU开销,支持FX、torch.special和nn.ModuleParametrization等几个前端API。除了GPU外,JIT Compiler中对自动融合的支持也扩展到CPU,且已支持Android NNAPI。
我们可以到PyTorch的官方网站(https://pytorch.org/)下载软件,有两种版本可以选择,分别为CPU版和GPU版,如果安装系统中有NVIDIA GPU,或者有AMD ROCm,那么推荐安装GPU版本,因为对于大数据量的计算,GPU环境比CPU环境要快很多。
例如,求N×N维的二维矩阵的逆矩阵,当N很小时,在CPU和GPU两种环境下花费的时间差异不大,但是随着N的增加,GPU环境下的耗时变化不大,而CPU环境下却呈现直线上升,如图1-12所示。
图1-12 CPU和GPU两种环境下的效率比较
虽然在CPU环境下模型的训练非常缓慢,但是为了简化现场部署PyTorch模型,以及降低深度学习的学习门槛,以利于框架本身的推广,因此现在大部分厂家生产的笔记本都可以安装PyTorch深度学习框架。
PyTorch可以安装在Windows、Linux、Mac等系统中,可以使用Conda、Pip等工具进行安装,可以运行在Python、C++、Java等语言环境下,如图1-13所示。
图1-13 下载PyTorch
其中,使用Pip工具的安装命令如下:
pip3 install torch torchvision torchaudio
由于PyTorch软件较大,如果网络环境不是很稳定,可以先到网站上下载对应版本的离线文件。
此外,在安装PyTorch时,很多基于PyTorch的工具集,如处理音频的torchaudio、处理图像视频的torchvision等都有一定的版本限制。
在安装GPU版本的PyTorch时,需要先到NVIDIA的官方网站查看系统中的显卡是否支持CUDA,再依次安装显卡驱动程序、CUDA10和cuDNN,最后安装PyTorch。
1)安装显卡驱动程序,到NVIDIA的官方网站(https://www.nvidia.com/drivers)下载系统中的显卡所对应的显卡驱动程序并进行安装,如图1-14所示。
图1-14 下载显卡驱动程序
2)安装CUDA,登录网站(https://developer.nvidia.com/cuda-downloads),单击右下角的Legacy Releases按钮下载CUDA,如图1-15所示。
图1-15 CUDA下载页面
选择CUDA Toolkit 10.0版本,如图1-16所示。
图1-16 选择CUDA安装版本
选择Windows 10的安装包,下载并进行安装,如图1-17所示。
图1-17 下载CUDA安装包
3)安装cuDNN,登录网站(https://developer.nvidia.com/rdp/cudnn-download)下载cuDNN for CUDA 10.0 Windows 10版本,并进行解压缩,如图1-18所示。
图1-18 下载cuDNN安装包
接下来,从cuDNN的解压缩目录复制3个文件到CUDA的安装目录,步骤如下:
把<cuDNN解压缩目录>下的文件\cuda\bin\cudnn64_7.dll复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\bin目录下。
把<cuDNN解压缩目录>下的文件\cuda\include\cudnn,h复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\include目录下。
把<cuDNN解压缩目录>下的文件\cuda\lib\x64\cudnn,lib复制到C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.0\lib\x64目录下。
4)安装PyTorch GPU版的软件包:
pip install torch==1.9.1+cu100 torchvision==0.10.1+cu102 torchaudio=== 0.9.1 -f https://download.Pytorch.org/whl/torch_stable.html