diff --git a/docs/mastering-tf-1x-zh/ch12.md b/docs/mastering-tf-1x-zh/ch12.md index b6f953857a102bedb064d227363dca9724aa1fe1..1a210f99065797e068f50bd09c98eb68b684fa7d 100644 --- a/docs/mastering-tf-1x-zh/ch12.md +++ b/docs/mastering-tf-1x-zh/ch12.md @@ -419,7 +419,7 @@ image_height=vgg.vgg_16.default_image_size image_width=vgg.vgg_16.default_image_size ``` -# 使用 TensorFlow 中预训练的 VGG16 进行图像分类 +# TensorFlow 中的预训练 VGG16 的图像分类 现在让我们首先尝试预测测试图像的类别,而不进行再训练。首先,我们清除默认图并定义图像的占位符: @@ -568,7 +568,7 @@ Probability 1.81% of [abaya] 从未见过我们数据集中的图像,并且对数据集中的类没有任何了解的预训练模型已正确识别斑马,马车,鸟和熊。它没能认出长颈鹿,因为它以前从未见过长颈鹿。我们将在我们的数据集上再训练这个模型,只需要更少的工作量和 800 个图像的较小数据集大小。但在我们这样做之前,让我们看看在 TensorFlow 中进行相同的图像预处理。 -# TensorFlow 中的图像预处理,用于预训练的 VGG16 +# 为 TensorFlow 中的预训练 VGG16 预处理图像 我们为 TensorFlow 中的预处理步骤定义一个函数,如下所示: @@ -615,7 +615,7 @@ init = slim.assign_from_checkpoint_fn( 我们建议您将预处理管道与 TensorFlow 模型训练和预测代码分开。 保持独立使其具有模块化并具有其他优势,例如您可以保存数据以便在多个模型中重复使用。 -# 使用 TensorFlow 中的再训练的 VGG16 进行图像分类 +# TensorFlow 中的再训练 VGG16 的图像分类 现在,我们将为 COCO 动物数据集再训练 VGG16 模型。让我们从定义三个占位符开始: @@ -836,7 +836,7 @@ Probability 3.65% of [giraffe] 现在让我们对 Keras 进行相同的分类和再训练。您将看到我们可以轻松地使用较少量的代码在 Keras 中使用 VGG16 预训练模型。 -# 使用 Keras 中预训练的 VGG16 进行图像分类 +# Keras 中的预训练 VGG16 的图像分类 加载模型是一个单行操作: @@ -959,7 +959,7 @@ Probability 2.05% of [bath towel] 它无法识别绵羊,长颈鹿以及狗的图像被裁剪出来的最后一张噪音图像。现在,让我们用我们的数据集再训练 Keras 中的模型。 -# 使用 Keras 中的再训练 VGG16 进行图像分类 +# Keras 中的再训练 VGG16 的图像分类 让我们使用 COCO 图像数据集来再训练模型以微调分类任务。我们将删除 Keras 模型中的最后一层,并添加我们自己的完全连接层,其中`softmax`激活 8 个类。我们还将通过将前 15 层的`trainable`属性设置为`False`来演示冻结前几层。 @@ -1223,7 +1223,7 @@ image_height=inception.inception_v3.default_image_size image_width=inception.inception_v3.default_image_size ``` -# 使用 TensorFlow 中的 InceptionV3 进行图像分类 +# TensorFlow 中的 InceptionV3 的图像分类 图像分类与使用 VGG 16 模型的上一节中说明的相同。 InceptionV3 模型的完整代码如下: @@ -1351,7 +1351,7 @@ Probability 1.55% of [pay-phone, pay-station] 虽然它在与 VGG 模型几乎相同的地方失败了,但并不算太糟糕。现在让我们用 COCO 动物图像和标签再训练这个模型。 -# 使用 TensorFlow 中的再训练的 InceptionV3 进行图像分类 +# TensorFlow 中的再训练 InceptionV3 的图像分类 InceptionV3 的再训练与 VGG16 不同,因为我们使用 softmax 激活层作为输出,`tf.losses.softmax_cross_entropy()`作为损耗函数。 diff --git a/docs/mastering-tf-1x-zh/ch13.md b/docs/mastering-tf-1x-zh/ch13.md index 65e13761a0d4ee9f11261d03270b50ad00407466..64b59b7f472c7eaa4a8d1423762814c33fe43400 100644 --- a/docs/mastering-tf-1x-zh/ch13.md +++ b/docs/mastering-tf-1x-zh/ch13.md @@ -669,7 +669,7 @@ s_bounds[1] = (-1.0,1.0) s_bounds[3] = (-1.0,1.0) ``` -# 使用 Q-Table 进行 Q-Learning +# 使用 Q-Table 的 Q-Learning 您可以在`ch-13b.ipynb`中按照本节的代码进行操作。 由于我们的离散空间的尺寸为`[10,10,10,10]`,因此我们的 Q 表的尺寸为`[10,10,10,10,2]`: @@ -762,7 +762,7 @@ Policy:policy_q_table, Min reward:8.0, Max reward:180.0, Average reward:17.592 我们对算法的实现很容易解释。但是,您可以对代码进行修改以将探索率设置为最初,然后随着时间步长的过去而衰减。同样,您还可以实现学习和折扣率的衰减逻辑。让我们看看,由于我们的 Q 函数学得更快,我们是否可以用更少的剧集获得更高的奖励。 -# Q-Network 或深度 Q 网络(DQN)的 Q-Learning +# 使用 Q-Network 或深度 Q 网络(DQN)的 Q-Learning 在 DQN 中,我们将 Q-Table 替换为神经网络(Q-Network),当我们使用探索状态及其 Q 值连续训练时,它将学会用最佳动作进行响应。因此,为了训练网络,我们需要一个存储游戏内存的地方: diff --git a/docs/mastering-tf-1x-zh/ch14.md b/docs/mastering-tf-1x-zh/ch14.md index 8841f15787bab275835f5d6d2c933d351ac6f803..9b4b167b42b0beafb2b7217f593d5744e086b37a 100644 --- a/docs/mastering-tf-1x-zh/ch14.md +++ b/docs/mastering-tf-1x-zh/ch14.md @@ -99,7 +99,7 @@ def display_images(images): 欢迎您探索并尝试其他最佳实践。 -# 使用 TensorFlow 的简单的 GAN +# TensorFlow 中的简单的 GAN 您可以按照 Jupyter 笔记本中的代码`ch-14a_SimpleGAN`。 @@ -313,7 +313,7 @@ with tf.Session() as tfs: 正如我们所看到的那样,生成器在周期 0 中只产生噪声,但是在周期 350 中,它经过训练可以产生更好的手写数字形状。您可以尝试使用周期,正则化,网络架构和其他超参数进行试验,看看是否可以产生更快更好的结果。 -# 使用 Keras 的简单的 GAN +# Keras 中的简单的 GAN 您可以按照 Jupyter 笔记本中的代码`ch-14a_SimpleGAN`。 @@ -546,7 +546,7 @@ for epoch in range(n_epochs+1): GAN 有如此多的变化,它将需要另一本书来涵盖所有不同类型的 GAN。但是,实现技术几乎与我们在此处所示的相似。 -# 使用 TensorFlow 和 Keras 的深度卷积 GAN +# TensorFlow 和 Keras 中的深度卷积 GAN 您可以按照 Jupyter 笔记本中的代码`ch-14b_DCGAN`。 diff --git a/docs/mastering-tf-1x-zh/ch15.md b/docs/mastering-tf-1x-zh/ch15.md index 159cc010ed4a614cf71dab4871a68c7b92179976..09d064f9adcf29c8f56d615e3a5333b2c2f31d65 100644 --- a/docs/mastering-tf-1x-zh/ch15.md +++ b/docs/mastering-tf-1x-zh/ch15.md @@ -1,4 +1,4 @@ -# 十五、使用 TensorFlow 集群的分布式模型 +# 十五、TensorFlow 集群的分布式模型 之前我们学习了如何使用 Kubernetes,Docker 和 TensorFlow 服务在生产中大规模运行 TensorFlow 模型。 TensorFlow 服务并不是大规模运行 TensorFlow 模型的唯一方法。 TensorFlow 提供了另一种机制,不仅可以运行,还可以在多个节点或同一节点上的不同节点和不同设备上训练模型。 在第 1 章,TensorFlow 101 中,我们还学习了如何在不同设备上放置变量和操作。在本章中,我们将学习如何分发 TensorFlow 模型以在多个节点上的多个设备上运行。 diff --git a/docs/mastering-tf-1x-zh/ch18.md b/docs/mastering-tf-1x-zh/ch18.md index 9204c985c28923f0fa1feb7ed65c42029965b0aa..28f1d674a877e9d2a2205f9e7b5e7020a54135d2 100644 --- a/docs/mastering-tf-1x-zh/ch18.md +++ b/docs/mastering-tf-1x-zh/ch18.md @@ -161,7 +161,7 @@ InvalidArgumentError: assertion failed: [[-2 0 0]...] assert_op = tf.assert_greater_equal(x,0) ``` -# 使用 TensorFlow 调试器(`tfdbg`)进行调试 +# 使用 TensorFlow 调试器(`tfdbg`)的调试 TensorFlow 调试器(`tfdbg`)与其他常用调试器(如`pdb`和`gdb`)的工作方式相同。要使用调试器,该过程通常如下: