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

Explaining your second GAN component – generator


The generator is the fun part of this structure. The generator is going to take inputs from the latent space (a sample from a normal distribution in this recipe) and produce realistic looking data. The generator will also be added to the adversarial part of the training. The GAN will take in latent examples with labels and train on that until the generator itself is able to produce realistic looking images. We'll see some examples of the generated images in the near future.

Getting ready

As with the discriminator development, the important part of this recipe is that you have the appropriate folder structure and the discriminator.py file. Testing each of these components will come once we develop all three of the pieces, and will come once we get to the training script later in this chapter.

How to do it...

This class is broken down into a few sections in order to better divide up the information—imports, generator initialization, model definition...