2.1.2 Keras与TensorFlow的安装

配置开发环境是十分复杂的环节,为了照顾大部分初学者,节省学习时间,避免配置环境时出现令人困扰的程序安装包兼容问题,本书推荐按照课程所提供的“环境安装包”,方便快速地进行开发环境的搭建。打开 Anaconda 的终端,依次执行如下命令。

conda create -n tf_2.0
conda activate tf_2.0
conda env update -f requirement.yaml
jupyter notebook

上面的命令全部顺利执行后,即可完成本书所需全部安装包和环境的配置,无须再安装任何其他开发包,具体方式详见配套电子资料。

本小节对Keras、TensorFlow等相关开发包进行简单介绍,供希望了解安装环境配置和开发包的读者参考学习。Keras 是对 TensorFlow 的高级封装,理解起来非常简单、方便、快捷,虽然 Keras的自定义程度没有 TensorFlow高,但很适合刚刚接触深度学习或者希望快速搭建深度学习模型的用户使用。需要注意的是,TensorFlow也可以作为前端来使用,只是其语法与规则更复杂一些。

1.TensorFlow的安装

在安装 Keras 之前,需要安装后端引擎,引擎是电子平台上开发程序或系统的核心组件,类似于一个强大的“核心部件工具包”。利用引擎,开发者可迅速开发、实现程序的功能,辅助程序的运转。Keras能够使用的后端引擎有TensorFlow、Theano或者CNTK,在这里我们推荐TensorFlow。TensorFlow支持Python、Java、Go、C等多种编程语言,以及Windows、macOS、Linux等多种操作系统。

(1)使用 Anaconda 自带的 Conda 包管理器建立一个 Conda 虚拟环境,并进入该虚拟环境。首先在“开始”菜单打开“Anaconda Prompt”终端,在命令行下输入:

conda create --name tf_2.0 python=3.8.13
#“tf_2.0”是建立的Conda虚拟环境的名字

接着按照提示执行:

conda activate tf_2.0 #激活新创建的环境

(2)使用Anaconda安装Tensorflow,输入如下命令:

conda install tensorflow-gpu==2.4.3 -n tf_2.0

通过上面两个步骤可以完成TensorFlow的安装。

2.TensorFlow GPU版本的安装方法

TensorFlow GPU版本可以利用NVIDIA GPU强大的计算加速能力,使TensorFlow的运行更为高效,尤其是可以成倍提升模型训练的速度。在安装 TensorFlow GPU 版本前,需要有一块版本不太老的NVIDIA显卡,如果显卡的显存在2GB以内,暂时可以使用CPU版本进行试验。除此之外,还需要正确安装NVIDIA显卡驱动程序、CUDA Toolkit和cuDNN。

TensorFlow对NVIDIA显卡的支持较为完备。对于NVIDIA显卡,要求其CUDA Toolkit版本不低于3.0,可以到NVIDIA官方网站查询自己所用显卡的CUDA Compute Capability。

在Windows操作系统中,如果具有NVIDIA显卡,则往往已经自动安装了NVIDIA显卡驱动程序,如果未安装或者驱动程序版本过老,可以直接访问NVIDIA官方网站下载并安装对应型号的最新公版驱动程序。NVIDIA 显卡驱动程序安装完成后,可以在命令行下使用 nvidia-smi命令检查是否安装成功,若安装成功则会输出当前操作系统安装的NVIDIA显卡驱动信息,如图2.6所示。

图2.6 NVIDIA驱动程序安装成功显示界面

在安装完驱动程序后,还需要安装CUDA Toolkit和cuDNN,在Anaconda环境下,推荐使用:

conda install cudatoolkit=X.X  #选择与TensorFlow版本对应的CUDA版本
conda install cudnn=X.X.X  #选择与TensorFlow版本对应的cuDNN版本

当然,也可以按照 TensorFlow 官方网站上的说明手动下载 CUDA Toolkit 和cuDNN并安装,不过过程稍烦琐。如果对版本没有要求,可以直接使用conda install tensorflow-gpu进行TensorFlow安装,在安装完驱动程序的前提下,会自动安装所有依赖包。

安装完毕后编写简单的程序进行测试,代码如下:

#导入TensorFlow,如果报错,绝大部分原因是GPU下CUDA与tf版本不对应导致,这时
#需要重新安装
import tensorflow as tf
a = tf.constant([1, 2])
b = tf.constant([3, 4])
print(a+b)

如果最后输出tf.Tensor([4 6], shape=(2,), dtype=int32),则说明TensorFlow已经安装成功。上例使用TensorFlow 2.0.0,若使用TensorFlow 1.x,则需要定义tf.Session()进行计算。

3.Keras的安装

安装完TensorFlow之后,它就可以作为Keras的后端引擎了,接下来可以非常便捷地安装并使用Keras。我们推荐使用PyPI安装Keras,输入如下命令:

pip install keras

或者使用conda安装,输入如下命令:

conda install keras

默认情况下,Keras将使用TensorFlow作为其张量操作库。但是也可以配置其他Keras后端。Keras使用CPU与GPU的方式是根据后端引擎决定的,如果用户安装的是 TensorFlow GPU版本,那么使用 Keras实现神经网络时也是自动使用 GPU进行加速计算。