提交 62de467f 编写于 作者: W wizardforcel

2020-12-16 22:20:36

上级 1970cee8
......@@ -985,7 +985,7 @@ Tensorboard 的`GRAPHS`部分包含两个网络的图形。 如果网络性能
* **MNIST 字符的生成**:MNIST 数据集包含 60,000 张手写数字图像。 要训​​练复杂的监督学习模型,MNIST 数据集是不够的。 DCGAN 一旦受过训练,将生成可以添加到原始数据集中的新数字。
* **人脸生成**:DCGAN 使用卷积神经网络,非常擅长生成逼真的图像。
* **特征提取器**:训练后,可以使用判别器从中间层提取特征。 这些提取的功能在样式迁移和人脸识别等任务中很有用。 样式迁移涉及生成图像的内部表示,用于计算样式和内容损失。 请参阅[以下论文](https://arxiv.org/pdf/1508.06576.pdf),以了解有关样式转换的更多信息。
* **特征提取器**:训练后,可以使用判别器从中间层提取特征。 这些提取的功能在样式迁移和人脸识别等任务中很有用。 样式迁移涉及生成图像的内部表示,用于计算样式和内容损失。 请参阅[以下论文](https://arxiv.org/pdf/1508.06576.pdf),以了解有关样式迁移的更多信息。
......
......@@ -1090,7 +1090,7 @@ TensorBoard 的`GRAPHS`部分包含两个网络的图形。 如果网络性能
CycleGAN 有许多应用。 在本章中,我们使用了 CycleGAN 将画作转换为照片。 它们还可以在以下情况下使用:
* **样式转换**:例如,将照片转换为绘画,反之亦然,将马的图像转换为斑马,反之亦然,将橘子的图像转换为苹果,反之亦然
* **样式迁移**:例如,将照片转换为绘画,反之亦然,将马的图像转换为斑马,反之亦然,将橘子的图像转换为苹果,反之亦然
* **照片增强**:CycleGAN 可用于增强图片质量
* **季节转换**:例如,将冬天的图片变成夏天的图片,反之亦然
* **游戏风格迁移**:CycleGAN 可用于将游戏 A 的风格迁移到游戏 B
......
......@@ -135,7 +135,7 @@ GAN 的未来是光明的! 我认为在不久的将来有可能会使用 GAN
GAN 已被证明对图像生成任务很有用。 GAN 中的大部分研究目前集中在高分辨率图像生成,文本到图像合成,样式转换,图像到图像翻译以及其他类似任务上。 目前,对于使用 GAN 生成文本的研究还不多。 这是因为 GAN 旨在生成连续的值,因此训练 GAN 以获得离散值确实具有挑战性。 将来, 预测将在文本生成任务中进行更多的研究。
GAN 已被证明对图像生成任务很有用。 GAN 中的大部分研究目前集中在高分辨率图像生成,文本到图像合成,样式迁移,图像到图像翻译以及其他类似任务上。 目前,对于使用 GAN 生成文本的研究还不多。 这是因为 GAN 旨在生成连续的值,因此训练 GAN 以获得离散值确实具有挑战性。 将来, 预测将在文本生成任务中进行更多的研究。
......
......@@ -40,7 +40,7 @@ TensorFlow 是 Google 的开放源代码框架,用于构建机器学习 AI 应
第 3 章,“检测对象及其位置”,快速概述了对象检测,然后向您展示如何设置 TensorFlow 对象检测 API 并使用它来重新训练 SSD-MobileNet 和 Faster RCNN 模型。 我们还将通过手动构建 TensorFlow iOS 库以支持非默认 TensorFlow 操作的方式,向您展示如何在 iOS 或 Android 示例 TensorFlow 应用中使用模型。 最后,我们将向您展示如何训练 YOLO2(另一个流行的对象检测模型),该模型也在示例 TensorFlow Android 应用中使用,以及如何在 iOS 应用中使用它。
第 4 章,“变换具有惊人艺术风格的图片” 首先概述了神经样式转换在过去几年中的快速发展。 然后,它向您展示了如何训练快速的神经样式转换模型,以及如何在 iOS 和 Android 应用中使用它们。 之后,我们将介绍如何在您自己的 iOS 和 Android 应用中使用 TensorFlow Magenta 多样式模型轻松创建令人惊叹的艺术风格。
第 4 章,“变换具有惊人艺术风格的图片” 首先概述了神经样式迁移在过去几年中的快速发展。 然后,它向您展示了如何训练快速的神经样式迁移模型,以及如何在 iOS 和 Android 应用中使用它们。 之后,我们将介绍如何在您自己的 iOS 和 Android 应用中使用 TensorFlow Magenta 多样式模型轻松创建令人惊叹的艺术风格。
第 5 章,“了解简单语音命令”概述了语音识别,并向您展示了如何训练简单语音命令识别模型。 然后,我们将向您展示如何使用 Objective-C 和 Swift 在 Android 和 iOS 中使用该模型。 我们还将介绍有关如何解决移动设备上可能出现的模型加载和运行错误的更多提示。
......
......@@ -12,9 +12,9 @@
总而言之,我们将在本章中介绍以下主题:
* 迁移学习-什么和为什么
* 使用 Inception v3 模型进行再训练
* 使用 MobileNet 模型进行再训练
* 迁移学习 - 什么和为什么
* 将 Inception v3 模型用于再训练
* 将 MobileNet 模型用于再训练
* 在示例 iOS 应用中使用经过重新训练的模型
* 在示例 Android 应用中使用经过重新训练的模型
* 将 TensorFlow 添加到您自己的 iOS 应用中
......@@ -42,7 +42,7 @@
# 使用 Inception v3 模型进行再训练
# 将 Inception v3 模型用于再训练
......@@ -260,7 +260,7 @@ bazel-bin/tensorflow/tools/graph_transforms/transform_graph
# 使用 MobileNet 模型进行再训练
# 将 MobileNet 模型用于再训练
......
......@@ -405,7 +405,7 @@ python object_detection/eval.py \
--eval_dir=eval_dir_mobilenet
```
11. 您可以使用以下命令生成重新训练的图
11. 您可以使用以下命令生成重新训练的图:
```py
python object_detection/export_inference_graph.py \
......
此差异已折叠。
......@@ -12,7 +12,7 @@
总之,本章将涵盖以下主题:
* 语音识别-快速概述
* 语音识别 -- 快速概述
* 训练简单的命令识别模型
* 在 Android 中使用简单的语音识别模型
* 在带有 Objective-C 的 iOS 中使用简单的语音识别模型
......@@ -430,7 +430,7 @@ runOnUiThread(new Runnable() {
现在执行以下步骤来创建一个新的 iOS 应用以使用语音命令识别模型:
1. 在 Xcode 中创建一个名为 AudioRecognition 的新 Objective-C 应用,并将项目设置为使用 TensorFlow 手动构建的库,如“以惊人的艺术风格转换图片”的步骤 1 中所述。 还将`AudioToolbox.framework``AVFoundation.framework``Accelerate.framework`添加到目标的带库的链接二进制文件。
1. 在 Xcode 中创建一个名为 AudioRecognition 的新 Objective-C 应用,并将项目设置为使用 TensorFlow 手动构建的库,如“以惊人的艺术样式迁移图片”的步骤 1 中所述。 还将`AudioToolbox.framework``AVFoundation.framework``Accelerate.framework`添加到目标的带库的链接二进制文件。
2.`speech_commands_graph.pb`模型文件拖放到项目中。
3.`ViewController.m`的扩展名更改为`mm`,然后添加音频记录和处理所使用的以下标头:
......
......@@ -8,11 +8,11 @@
在本章中,我们将首先回顾基于深度学习的图像字幕模型如何赢得 2015 年 Microsoft COCO(大规模对象检测,分割和字幕数据集),我们在第 3 章,“检测对象及其位置”中简要介绍了该有效模型。 然后,我们将总结在 TensorFlow 中训练模型的步骤,并详细介绍如何准备和优化要在移动设备上部署的复杂模型。 之后,我们将向您展示有关如何构建 iOS 和 Android 应用以使用该模型生成描述图像的自然语言语句的分步教程。 由于该模型同时涉及计算机视觉和自然语言处理,因此您将首次看到两种主要的深度神经网络架构 CNN 和 RNN 如何协同工作,以及如何编写 iOS 和 Android 代码以访问经过训练的网络并进行多个推理。 总而言之,我们将在本章介绍以下主题:
*片字幕-工作原理
*像字幕 -- 工作原理
* 训练和冻结图像字幕模型
* 转换和优化图像字幕模型
* 在 iOS 中使用图字幕模型
* 在 Android 中使用图字幕模型
* 在 iOS 中使用图字幕模型
* 在 Android 中使用图字幕模型
......@@ -448,7 +448,7 @@ bazel-bin/tensorflow/contrib/util/convert_graphdef_memmapped_format \
# 在 iOS 中使用图字幕模型
# 在 iOS 中使用图字幕模型
......@@ -709,7 +709,7 @@ return sentence;
# 在 Android 中使用图字幕模型
# 在 Android 中使用图字幕模型
......@@ -942,7 +942,7 @@ mHandler.sendMessage(msg);
![](img/249e6bc8-7f89-45d4-a217-2cf1c54bf5fe.png)
图 6.9:在 Android 中显示图字幕结果
图 6.9:在 Android 中显示图字幕结果
一些结果与 iOS 结果以及 TensorFlow im2txt 网站上的结果略有不同。 但是它们看起来都不错。 另外,在相对较旧的 Android 设备(例如 Nexus 5)上运行该模型的非映射版本也可以。 但是最好在 Android 中加载映射模型,以查看性能的显着提高,我们可能会在本书后面的章节中介绍。
......
......@@ -17,7 +17,7 @@
因此,在本章中,我们将介绍以下主题:
* 绘画分类工作原理
* 绘画分类 -- 工作原理
* 训练并准备绘画分类模型
* 在 iOS 中使用绘画分类模型
* 在 Android 中使用绘画分类模型
......@@ -111,7 +111,7 @@ drwxr-xr-x 2 jeff jeff 4096 Feb 12 00:11 eval
传递给`Estimator`类的关键参数是名为`model_fn`的模型函数,该函数定义:
* 获取输入张量并创建卷积,RNN 和最终层的函数
* 调用这些函数构建模型的代码
* 调用这些函数构建模型的代码
* 损失,优化器和预测
在返回`tf.estimator.EstimatorSpec`实例之前,`model_fn`函数还具有一个名为`mode`的参数,该参数可以具有以下三个值之一:
......
......@@ -49,7 +49,7 @@ LSTM 只是解决 RNN 已知梯度消失问题的一种 RNN,我们在第 6 章
那么,我们如何使用 RNN 和 LSTM 测试股价预测? 我们将在[这个页面](https://www.alphavantage.co)上使用免费的 API 收集特定股票代码的每日股票价格数据,将其解析为训练集和测试集,并每次向 RNN/LSTM 模型提供一批训练输入(每个训练输入有 20 个时间步长,即,连续 20 天的价格),对模型进行训练,然后进行测试以查看模型在测试数据集中的准确性。 我们将同时使用 TensorFlow 和 Keras API 进行测试,并比较常规 RNN 和 LSTM 模型之间的差异。 我们还将测试三个略有不同的序列输入和输出,看看哪个是最好的:
* 根据过去`N`天预测一天的价格
* 根据过去`N`天预测 M 天的价格
* 根据过去`N`天预测`M`天的价格
* 基于将过去`N`天移动 1 并使用预测序列的最后输出作为第二天的预测价格进行预测
现在让我们深入研究 TensorFlow RNN API 并进行编码以训练模型来预测股票价格,以查看其准确性如何。
......
......@@ -10,7 +10,7 @@
总之,本章将涵盖以下主题:
* GAN –什么以及为什么
* GAN – 什么以及为什么
* 使用 TensorFlow 构建和训练 GAN 模型
* 在 iOS 中使用 GAN 模型
* 在 Android 中使用 GAN 模型
......@@ -148,11 +148,11 @@ python tensorflow/python/tools/freeze_graph.py \
基本上,pix2pix 使用 GAN 将输入图像映射到输出图像。 您可以使用不同类型的输入图像和输出图像来创建许多有趣的图像转换:
* 映射到天线
* 地图到航拍
* 白天到黑夜
* 照片边缘
* 边界到照片
* 黑白图像到彩色图像
* 图像损坏到原始图像
* 损坏的图像到原始图像
* 从低分辨率图像到高分辨率图像
在所有情况下,生成器都将输入图像转换为输出图像,试图使输出看起来像真实的目标图像,判别器将训练集中的样本或生成器的输出作为输入,并尝试告诉它是真实图像还是生成器生成的图像。 自然,与模型相比,pix2pix 中的生成器和判别器网络以更复杂的方式构建以生成手写数字,并且训练还应用了一些技巧来使过程稳定-有关详细信息,您可以阅读本文或较早提供的 TensorFlow 实现链接。 我们在这里仅向您展示如何设置训练集和训练 pix2pix 模型以增强低分辨率图像。
......@@ -469,7 +469,7 @@ No OpKernel was registered to support Op 'FIFOQueueV2' with these attrs. Registe
`runPix2PixBlurryModel`方法中,我们使用`LoadMemoryMappedModel`方法加载`pix2pix_transformed_memmapped.pb`模型文件,并加载测试图像并设置输入张量,其方式与第 4 章,“以惊人的艺术风格转换图片”相同:
`runPix2PixBlurryModel`方法中,我们使用`LoadMemoryMappedModel`方法加载`pix2pix_transformed_memmapped.pb`模型文件,并加载测试图像并设置输入张量,其方式与第 4 章,“以惊人的艺术样式迁移图片”相同:
```py
- (NSArray*) runPix2PixBlurryModel {
......
......@@ -14,7 +14,7 @@
总之,本章将涵盖以下主题:
* AlphaZero –它如何工作?
* AlphaZero – 它如何工作?
* 为 Connect4 构建和训练类似于 AlphaZero 的模型
* 在 iOS 中使用模型玩 Connect4
* 在 Android 中使用模型玩 Connect4
......
......@@ -10,10 +10,10 @@
因此,我们将在本章涵盖 TensorFlow Lite 和 Core ML,并通过以下主题展示两者的优势和局限性:
* TensorFlow Lite-概述
* TensorFlow Lite - 概述
* 在 iOS 中使用 TensorFlow Lite
* 在 Android 中使用 TensorFlow Lite
* 适用于 iOS 的 CoreML-概述
* 适用于 iOS 的 CoreML - 概述
* 结合使用 CoreML 和 Scikit-Learn 机器学习
* 将 CoreML 与 Keras 和 TensorFlow 结合使用
......
......@@ -1031,7 +1031,7 @@ pi@raspberrypi:~/mobiletf/ch12 $ python nn_pg.py
因此,该说再见了。 在本书中,我们从三个经过预训练的 TensorFlow 模型开始,这些模型分别是图像分类,对象检测和神经样式转换,并详细讨论了如何重新训练模型并在 iOS 和 Android 应用中使用它们。 然后,我们介绍了使用 Python 构建的 TensorFlow 教程中的三个有趣的模型(音频识别,图像字幕和快速绘制),并展示了如何在移动设备上重新训练和运行这些模型。
因此,该说再见了。 在本书中,我们从三个经过预训练的 TensorFlow 模型开始,这些模型分别是图像分类,对象检测和神经样式迁移,并详细讨论了如何重新训练模型并在 iOS 和 Android 应用中使用它们。 然后,我们介绍了使用 Python 构建的 TensorFlow 教程中的三个有趣的模型(音频识别,图像字幕和快速绘制),并展示了如何在移动设备上重新训练和运行这些模型。
之后,我们从零开始开发了用于预测 TensorFlow 和 Keras 中的股价的 RNN 模型,两个用于数字识别和像素转换的 GAN 模型以及一个用于 Connect4 的类似于 AlphaZero 的模型,以及使用所有这些 TensorFlow 模型的完整 iOS 和 Android 应用 。 然后,我们介绍了如何将 TensorFlow Lite 以及 Apple 的 Core ML 与标准机器学习模型和转换后的 TensorFlow 模型一起使用,展示了它们的潜力和局限性。 最后,我们探索了如何使用 TensorFlow 构建 Raspberry Pi 机器人,该机器人可以使用强大的强化学习算法来移动,观看,聆听,讲话和学习。
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册