使用 Keras 和 TensorFlow Eage Execution 生成图像

生成对抗网络 (GAN) 是一种流行的深度学习方法,用于生成新实体(通常但并非总是图像)。我们展示了如何使用 Keras 和 TensorFlow Eager Execution 对它们进行编码。

来源:RStudio AI博客

TensorFlow 2.0 的最新公告将 Eager Execution 列为新主要版本的首要核心功能。这对 R 用户意味着什么?正如我们最近关于神经机器翻译的文章中所展示的那样,您现在可以将 R 中的 Eager Execution 与 Keras 自定义模型和数据集 API 结合使用。很高兴知道您可以使用它 - 但为什么要使用它?在哪些情况下?

Eager Execution 可以

在这篇文章和即将发布的几篇文章中,我们想展示 Eager Execution 如何使开发模型变得更容易。简化的程度将取决于任务 - 而您发现新方法有多容易也可能取决于您使用功能 API 来建模更复杂关系的经验。即使您认为 GAN、编码器-解码器架构或神经风格转换在 Eager Execution 出现之前不会造成任何问题,您也可能会发现替代方案更适合我们人类在心理上描绘问题的方式。

多少

对于这篇文章,我们正在从最近的 Google Colaboratory 笔记本中移植代码,该笔记本实现了 DCGAN 架构。(Radford、Metz 和 Chintala 2015)不需要事先了解 GAN - 我们将保持这篇文章的实用性(不涉及数学),并专注于如何实现您的目标,将一个简单而生动的概念映射到极少的代码行中。

Google Colaboratory 笔记本 (Radford、Metz 和 Chintala 2015) Radford、Metz 和 Chintala 2015

与关于机器翻译的帖子一样,我们首先必须介绍一些先决条件。顺便说一句,无需复制代码片段 - 您可以在 eager_dcgan.R 中找到完整的代码。

eager_dcgan.R

先决条件

本文中的代码依赖于几个 TensorFlow R 包的最新 CRAN 版本。您可以按如下方式安装这些包:

install.packages(c("tensorflow", "keras", "tfdatasets"))
install.packages(c("tensorflow", "keras", "tfdatasets")) install.packages(c("tensorflow", "keras", "tfdatasets")) install.packages c "tensorflow" <-