Book Image

Generative Adversarial Networks Cookbook

By : Josh Kalin
Book Image

Generative Adversarial Networks Cookbook

By: Josh Kalin

Overview of this book

Developing Generative Adversarial Networks (GANs) is a complex task, and it is often hard to find code that is easy to understand. This book leads you through eight different examples of modern GAN implementations, including CycleGAN, simGAN, DCGAN, and 2D image to 3D model generation. Each chapter contains useful recipes to build on a common architecture in Python, TensorFlow and Keras to explore increasingly difficult GAN architectures in an easy-to-read format. The book starts by covering the different types of GAN architecture to help you understand how the model works. This book also contains intuitive recipes to help you work with use cases involving DCGAN, Pix2Pix, and so on. To understand these complex applications, you will take different real-world data sets and put them to use. By the end of this book, you will be equipped to deal with the challenges and issues that you may face while working with GAN models, thanks to easy-to-follow code solutions that you can implement right away.
Table of Contents (17 chapters)
Title Page
Copyright and Credits
About Packt
Dedication
Contributors
Preface
Dedication2
Index

What is DCGAN? A simple pseudocode example


The DCGAN architecture simply requires updates for the model of the discriminator and generator. We will also need to update our training step to improve convergence. The MNIST data we used in the first example is the simplest of the examples we can work with. Convergence for GANs, as you will remember, is one of the hardest parts about building such an architecture, but the DCGAN architecture helps ensure that convergence happens reliably. We'll take a detailed look at convergence with the help of pseudocode in the next section.

Getting ready

First, let's break down the DCGAN architecture into the principal, important components: the discriminator and the generator. The next section will focus on how we develop these structures, but first, let's talk about the basic structure of DCGAN, which is made up of the following sections:

  • Numbered steps on the high-level DCGAN
  • Pseudocode generator
  • Pseudocode discriminator
  • Pseudocode trainer

How to do it...

The generator...