2.1 环境配置
本书使用PyTorch深度学习框架进行讲解,因此,在使用之前,需要在计算机或者服务器端进行环境配置。
2.1.1 Anaconda
Anaconda中集成了大部分经常使用的第三方库,并且可以很方便地获取所需要的其他库以便进行管理。同时,也可以很方便地对现存的库进行管理。Anaconda在pip install命令的基础上加入了conda install命令,更加方便快捷。如果需要对已安装的库进行查询,可以使用conda list命令。
Anaconda官方提供了基于Windows、macOS和Linux三个平台的版本,且可以选择基于Python 3.7或2.7的发行版,建议选择基于Python 3.7的版本进行学习。
目前的Anaconda可以在macOS、Windows和Linux系统下进行安装,硬件要求是32位或64位的系统,需要3GB的存储空间来存放安装包。当前大部分用户的计算机都能满足安装条件。
(1)在macOS系统上的安装
在所有的macOS系统上,建议优先选择Anaconda图形界面进行安装。安装步骤如下所示:
1)下载安装包。在Anaconda官方网站找到下载界面,如图2-1所示,单击“64-Bit Graphical Installer”按钮进行下载。
●图2-1 Anaconda官方网站
2)校验安装包。下载完成之后,可以选择使用SHA-256来校验Anaconda安装文件的数据完整性,这将生成安装文件的SHA-256加密哈希。通过与官网提供的哈希表进行匹配来决定是否进行安装,如果匹配无误,就可以开始下一步安装;如果不匹配,则需要再次下载。Anaconda官网提供的哈希匹配对应表如图2-2所示。
●图2-2 Anaconda官网提供的哈希匹配对应表
这一步在实际安装过程中会被大部分人忽略,笔者建议在安装前进行校验以防安装软件有错误。如果不提前进行校验的话,在后期的安装过程中可能出现问题,那样就将浪费大量的时间来解决软件问题,这将得不偿失。
3)安装过程。验证匹配完成之后,双击下载文件。如图2-3所示,进入如下界面,开始安装。
●图2-3 安装界面(一)
单击“Continue”按钮后开始进行安装。进入安装界面后,如图2-4所示,连续单击出现的“Continue”按钮进入到如下界面。
●图2-4 安装界面(二)
单击“Agree”按钮进行到下一步安装。
如图2-5所示,可以选择继续安装,那么Anaconda就会安装在默认的用户目录下,如果需要进行更改的话,可以单击“Change Install Location”按钮进行更改。
●图2-5 安装界面(三)
单击“Change Install Location”按钮后进入更改安装目录的界面,如图2-6所示。在此界面下选择“Install for me Only”选项继续安装,但是一般不建议选择这种安装方法。
●图2-6 安装界面(四)
如果收到如图2-6所示的错误消息如“You cannot install Anaconda3 in this location…”,解决方法是单击一下“Install on a specific disk”选项,再次单击“Install for me only”选项,然后进入如图2-7所示的界面,单击“Continue”按钮继续安装。
●图2-7 安装界面(五)
进入如图2-8所示界面后,单击“Install”按钮开始安装。
●图2-8 安装界面(六)
在安装过程中,可以选择为Anaconda安装Pycharm,但是建议在Anaconda安装完成后再到Pycharm官网进行下载安装。所以在这里选择不带Pycharm的Anaconda,单击“Con-tinue”按钮继续安装。
4)安装成功。成功安装完成后会显示如图2-9所示的界面。
●图2-9 完成安装界面
5)验证安装。在Terminal中输入命令“conda list”,如果安装成功,则会显示已经安装好的包和对应的版本号,如图2-10所示。
●图2-10 conda list命令
在Terminal中输入“python”,会进入Python的交互界面,并显示已安装的Python的版本号,如图2-11所示。
●图2-11 Python环境
6)完成安装。打开Terminal,输入命令“jupyter notebook”然后按回车键,看看是否会在自己的浏览器中出现如图2-12所示的界面。
●图2-12 Jupyter Notebook界面
如果出现类似界面,就可以通过新建“Python 3”文件开始继续学习!
有些读者在macOS上习惯使用命令行安装程序,那么可以下载“64-bit Command Line Installer”,然后在Terminal中使用相关命令进行安装。后续安装过程与图形界面安装基本一致。
(2)在Windows系统上的安装
在Windows系统上的安装过程与在macOS上的安装过程基本一致。如图2-13所示,有一个要注意的地方是,在安装的过程中需要选择“Add Anaconda3 to my PATH environment variable”复选按钮,将安装的Anaconda添加到环境变量中,以便在后续使用时进行调用。
●图2-13 在Windows系统上安装Anaconda
同时,也可以选择“Register Anaconda3 as my default Python 3.7”复选按钮,将此Ana-conda作为Windows系统下默认的Python编辑器。如果这两步没有在安装过程中完成,那么在安装完成后需要将Anaconda安装的路径添加到系统的环境变量中才能够完成后续的调用。
(3)在Linux系统上的安装
在Linux系统上的安装与macOS系统的安装基本一致。但是,由于要在不同的Linux发行版中安装图形界面显示包,因此,建议在Linux系统下通过命令的方式来对下载的sh文件进行安装。安装与验证安装的过程与macOS基本一致。
2.1.2 英伟达GPU驱动+CUDA+cuDNN
安装完Anaconda之后,如果是处理很小的数据集,可以在CPU上进行运算,但是当需要用到一些比较大的数据集或者深层网络时,推荐使用图形处理器(Graphics Processing Unit,GPU)加速运算。需要说明的是,PyTorch框架需要在英伟达(Nvidia)的GPU上才可以很好地被驱动。无论读者使用什么系统,在有条件的前提下,建议使用集成的服务器进行运算。如果计算机配置有比较好的GPU,且使用的系统为Windows或Linux,则需要进行如下的安装以便进一步使用。
以下为在Windows 10系统上的安装指引。
(1)硬件检查
查看自己的GPU型号。右键单击“This PC”(我的电脑),选中“Properties”(属性),选择“Device Manager”(设备管理器),选择“Display adapters”(显示适配器)进行查看。一般会显示两个显卡,一个是主板上的集成显卡,另一个是独立显卡,查看独立显卡的型号,如图2-14所示。
●图2-14 独立显卡型号查询
(2)下载安装驱动和CUDA
根据Nvidia官网提供的CUDA Toolkit-Driver Version查询对应版本的英伟达显卡驱动,如图2-15所示。
●图2-15 Nvidia官网提供的显卡驱动查询
在英伟达官网查找到对应的系统,下载相应GP U型号下的驱动安装包并安装,如图2-16所示。
●图2-16 英伟达显卡驱动下载
如图2-17所示,下载对应的CUDA版本并安装。
●图2-17 CUDA版本下载
下载对应的cuDNN包,解压后复制到CUDA安装目录中,一般在“C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2”(读者必须根据自己的实际地址进行更改),如图2-18所示。
●图2-18 CUDA版本
添加CUDA到计算机的环境变量中,具体设置如图2-19、图2-20所示。
●图2-19 添加环境变量(一)
●图2-20 添加环境变量(二)
(3)校验安装结果
完成安装后,打开命令行窗口,然后输入命令“nvcc-V”查看。
如果出现了安装的CUDA版本号(见图2-21),则说明已经将所需要的英伟达驱动-CUDA安装完成。
●图2-21 检查安装结果
2.1.3 PyTorch安装
在完成Anaconda和GPU的安装之后,就可以开始安装PyTorch框架。这个过程非常简单,打开PyTorch的官网,从单击“Get Started”按钮进入安装界面,然后选择与计算机匹配的环境和系统,在Terminal中输入相应的命令即可,如图2-22所示。
●图2-22 PyTorch版本
需要说明的是,对于macOS系统,没有与之对应的GPU版本的PyTorch,因此需要安装CPU版本的PyTorch。对于Windows和Linux系统,可以选择安装GPU或者CPU版本的PyTorch。
如果需要以前的版本,可以选择“Previous versions of PyTorch”。
2.1.4 Python IDE选择
对于大部分的初学者而言,在最开始选择专业的集成开发环境(Integrated Development Environment,IDE)非常重要,但是哪种IDE对于初学者是最友好的,每个研究者都有自己的见解。因此,本书仅推荐笔者日常使用的两种IDE:PyCharm和Visual Studio Code。
(1)PyCharm
PyCharm是专业开发者比较常用的一款Python IDE,它集成了一系列在开发过程中必备的工具,如语法高亮、Project管理、自动填充、单元测试、Debug,等等。同时,PyCharm也支持集成版本控制、Django开发等。
相比于其他的编辑器,Pycharm具有如下优势:
1)编码协助。
PyCharm可以协助使用者进行代码补全,支持代码折叠和分割窗口的功能,从而帮助使用者更快地完成编码工作。
2)代码导航
使用快捷键可以帮助使用者快速找到函数所对应的代码块,也可以帮助使用者从一个文件导航到另一个文件。
3)代码Debug分析
使用PyCharm自带的编码语法、错误高亮、智能检测以及一键式代码快速补全建议,可以使编码更优化。
4)支持Django
通过PyCharm自带的HTML、CSS和JavaScript编辑器,使用者可以更快速地通过Django框架进行Web开发。此外,它还能支持CoffeeScript、Mako和Jinja2等语言。
5)集成版本控制
登录、退出、视图拆分与合并——所有这些功能都能在其统一的版本控制系统的用户界面(可用于Mercurial、Subversion、Git、P erforce和其他的源代码管理服务器)中实现。
6)图形页面调试器
使用者可以用其自带的、功能全面的调试器对Python或者Django应用程序以及测试单元进行调整,该调试器带有断点、步进、多画面视图、窗口以及评估表达式。
7)可自定义、可扩展
绑定了TextMate、NetBeans、Eclipse与Emacs键盘主盘,以及Vi/Vim仿真插件。
(2)Visual Studio Code
Visual Studio Code是微软公司发布的一款Python IDE,也属于开发者经常使用的IDE。这款IDE的最大特点是轻量化,对计算机的性能要求比较低,并且支持插件,比较方便。
还有部分开发者会使用Vim进行项目开发,值得注意的是选择哪种Python IDE并不是最重要的,重要的是在初期能够适合自己使用。读者在完成安装后应尽快进行开发,切勿在选择和安装IDE工具上浪费大量的时间。