
2.2 TensorFlow2.0的安装
TensorFlow CPU版本的安装较为简单,而GPU版本则需要另外安装一些驱动程序和库,为了简便我们可以使用Docker的方式来安装和使用(目前,TensorFlow只有Linux版提供了Docker镜像)。本书中我们会通过python的包管理工具pip进行安装,并且以Linux环境为准。
作者使用的开发环境如下:

1.安装Anaconda
首先我们从官网下载Anaconda安装文件,选择Linux的“Python3.7Version”版本,单击“Download”,下载的文件为“Anaconda3-2019.10-Linux-x86_64.sh”。
(1)安装Anaconda
① 执行“bash Anaconda3-2019.10-Linux-x86_64.sh”,提示需要阅读许可条例,按下Enter 键继续,如图2-2所示。

图2-2 安装Anaconda(1)
② 出现提示:是否接受许可条例,输入“yes”按Enter 键,在界面中会提示Anaconda将要安装的位置,按下Enter 键确认,如图2-3所示。

图2-3 安装Anaconda(2)
③提示是否要写入配置文件,输入“yes”按Enter键,如图2-4所示。

图2-4 安装Anaconda(3)
到这里,Anaconda就安装完成了。如图2-5所示,安装好后键入“python3”,此时运行的还是系统自带的Python版本,执行“source~/.bashrc”让配置生效,此时执行“python3”,运行的就是Anaconda。

图2-5 安装Anaconda(4)
(2)创建虚拟Python环境
接下来在Anaconda中创建虚拟Python环境,执行如下命令。

出现是否继续的提示,输入“y”按Enter键,稍等片刻,一个Python3.7的虚拟环境就创建好了。此时系统中有多个版本的Python,为了方便使用,需要配置环境变量,为每个版本的Python设置一个别名。另外为了后面方便使用“pip”来管理虚拟环境的包,也需要为虚拟环境的“pip”命令创建一个别名。
编辑“~/.bashrc”文件,在文件末尾增加如下内容:

注意,Anaconda的路径要根据实际情况来填写,“/home/lqhou/anaconda3”是作者系统上Anaconda的安装路径。配置完成后键入“source~/.bashrc”让配置生效,之后分别执行“python”“python3”和“apython”命令,如图2-6所示。

图2-6 测试别名
这里“python”和“python3”命令指向的都是系统自带的Python版本,“apython”命令指向的是我们刚刚创建的Python虚拟环境。这里需要注意,当使用“pip”命令为虚拟Python环境安装包时,需要使用在这里配置的“apip”命令,直接使用“pip”或“pip3”命令会把包安装到系统自带的Python环境中。
2.安装TensorFlow
GPU版的TensorFlow包含了CPU版本,如果读者手上有GPU资源的话,可以直接参考2.4.1节安装GPU版的TensorFlow。
我们使用命令“apip install tensorflow”进行安装,该命令会安装最新的、稳定的CPU版本的TensorFlow。安装完成后,我们进入Python的交互式解释器环境验证安装是否成功,依次运行“import tensorflow as tf”、“print(tf.__version__)”,如图2-7所示。

图2-7 测试TensorFlow2.0是否安装成功
3.使用Jupyter Notebook
Jupyter Notebook是一个开源的Web应用程序,常被用于交互式的开发和展示数据科学项目(例如数据清洗和转换、数据可视化及机器学习等)。为了方便大家学习,本章用Jupyter NoteBook作为编程工具(读者也可以使用谷歌公司的Colab),读者也可以任意选择自己喜欢的编程工具。
通过图形化界面安装的Anaconda集成了Jupyter NoteBook,可以直接使用,如图2-8所示。

图2-8 Anaconda界面
如果读者使用的是命令行环境,我们需要使用命令“apip install jupyter”来安装Jupyter NoteBook。如果希望远程访问Jupyter NoteBook页面,操作如下:
① 输入命令“conda activate apython”来激活虚拟环境。
② 输入命令“nohup jupyter-notebook --allow-root --no-browser --ip=172.31.233.246&”,注意,这里的IP 地址要换成你所使用服务器的IP 地址。输入该行命令后按一次Enter 键。
③ 输入命令“conda deactivate”退出虚拟环境。
输入以上命令后,就可以在你本地计算机的浏览器中通过服务器的IP地址来访问服务器上的Jupyter NoteBook页面了。第一次登录需要Token,在上面执行命令的目录中会生成一个“nohup.out”文件,文件中有Token信息。
直接在图2-8单击Jupyter下方的“Launch”按钮即可启动Jupyter NoteBook(也可以在终端中输入“jupyter-notebook”命令来启动),启动之后会自动打开一个Web页面,如图2-9所示。这里列出了默认路径下的所有目录和文件,我们可以打开自己存放代码的目录。

图2-9 Jupyter Notebook启动之后打开的Web界面
如图2-10所示,单击页面右上角的“new”菜单,再单击“python[conda env:apython3]”菜单之后就会创建一个新的后缀名为“ipynb”的Notebook文件。如果“new”菜单只有一个Python Kernel,则在命令行下执行命令“source activate apython3”进入之前创建的“apython3”虚拟环境,再执行“jupyter-notebook”命令启动Jupyter Notebook,即可在“new”菜单下就看到如图2-10所示的Kernel了。

图2-10 创建一个新的Notebook文件
新建的Notebook文件会自动地在新的标签页打开,如图2-11所示,这是一个空的Notebook文件。

图2-11 打开后的Notebook文件
在Notebook的单元格内输入代码,单击“Run”按钮之后会在单元格的下方显示代码运行的结果,如图2-12所示。

图2-12 在Notebook文件中编写代码