# 零、前言

TensorFlow 是 Python 中最受欢迎的机器学习框架之一。 通过这本书，您将提高对 TensorFlow 最新功能的了解，并能够使用 Python 执行监督和无监督的机器学习。

# 这本书是给谁的

顾名思义，本书旨在向读者介绍 TensorFlow 及其最新功能，包括 2.0.0 版以内的 Alpha 版本，包括急切的执行`tf.data`，`tf.keras`，TensorFlow Hub，机器学习， 和神经网络应用。

本书适用于对机器学习及其应用有所了解的任何人：数据科学家，机器学习工程师，计算机科学家，计算机科学专业的学生和业余爱好者。

# 本书涵盖的内容

第 1 章，“TensorFlow 2 简介”，通过查看一些代码片段（说明一些基本操作）来介绍 TensorFlow。 我们将概述现代 TensorFlow 生态系统，并了解如何安装 TensorFlow。

第 2 章，“Keras，TensorFlow 2 的高级 API”，介绍了 Keras API，包括一些一般性的评论和见解，其后以四种不同的形式表示了基本架构 MNIST 数据集训练的方法。

第 3 章，“TensorFlow 2 和 ANN 技术”，探讨了许多支持创建和使用神经网络的技术。 本章将介绍到 ANN 的数据表示，ANN 的层，创建模型，梯度下降算法的梯度计算，损失函数以及保存和恢复模型。

第 4 章，“TensorFlow 2 和监督机器学习”，描述了在涉及线性回归的两种情况下使用 TensorFlow 的示例，在这些情况下，特征映射到具有连续值的已知标签，从而可以进行预测看不见的特征。

第 5 章，“TensorFlow 2 和无监督学习”着眼于自编码器在无监督学习中的两种应用：首先用于压缩数据；其次用于压缩数据。 第二，用于降噪，换句话说，去除图像中的噪声。

第 6 章，“使用 TensorFlow 2 识别图像”，首先查看 Google Quick Draw 1 图像数据集，其次查看 CIFAR 10 图像数据集。

第 7 章，“TensorFlow 2 和神经风格迁移”，说明如何拍摄内容图像和风格图像，然后生成混合图像。 我们将使用经过训练的 VGG19 模型中的层来完成此任务。

第 8 章，“TensorFlow 2 和循环神经网络”首先讨论了 RNN 的一般原理，然后介绍了如何获取和准备一些文本以供模型使用。

第 9 章， “TensorFlow 估计器和 TensorFlow Hub”首先介绍了用于训练时装数据集的估计器。 我们将看到估计器如何为 TensorFlow 提供简单直观的 API。 我们还将研究用于分析电影反馈数据库 IMDb 的神经网络。

附录，“从 tf1.12 转换为 tf2”包含一些将 tf1.12 文件转换为 tf2 的技巧。

# 充分利用这本书

假定熟悉 Python 3.6，并且熟悉 Jupyter 笔记本的使用。

本书的编写是假定读者比以文本形式出现的冗长文本解释更高兴以代码段和完整程序的形式给出的解释，当然，后者以不同的风格出现在本书中。

强烈建议您对机器学习的概念和技术有所了解，但是如果读者愿意对这些主题进行一些阅读，则这不是绝对必要的。

# 使用约定

本书中使用了许多文本约定。

`CodeInText`：指示文本，数据库表名称，文件夹名称，文件名，文件扩展名，路径名，虚拟 URL，用户输入和 Twitter 句柄中的代码字。 这是一个示例：“将下载的`WebStorm-10*.dmg`磁盘映像文件安装为系统中的另一个磁盘。”

代码块设置如下：

```py
image1 = tf.zeros([7, 28, 28, 3]) #  example-within-batch by height by width by color
```

当我们希望引起您对代码块特定部分的注意时，相关的行或项目以粗体显示：

```py
r1 = tf.reshape(t2,[2,6]) # 2 rows 6 cols
r2 = tf.reshape(t2,[1,12]) # 1 rows 12 cols
r1
# <tf.Tensor: id=33, shape=(2, 6), dtype=float32, 
numpy= array([[ 0., 1., 2., 3., 4., 5.], [ 6., 7., 8., 9., 10., 11.]], dtype=float32)>
```

任何命令行输入或输出的编写方式如下：

```py
var = tf.Variable([3, 3])
```

**粗体**：表示新术语，重要单词或您在屏幕上看到的单词。 例如，菜单或对话框中的单词会出现在这样的文本中。 这是一个示例：“从管理面板中选择系统信息。”

警告或重要提示如下所示。

提示和技巧如下所示。