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 first GAN component – discriminator


The discriminator is the easiest part of a GAN structure to understand—the discriminator is going to classify the input image as real or not. This classification will happen in the adversarial training. Essentially, the discriminator will classify the inputs during the forward pass of the neural network. As the generator gets better, it will be harder and harder for the GAN to distinguish between the real and fake images. We monitor the loss functions on the Terminal screen, but we could use them in the future to stop training early.

 

Getting ready

Remember that folder we created earlier in this chapter? You will want to create three new files in this folder. Here are the files you need to create in this folder (you can use the Linux command touch filename.py to create them):

  • generator.py
  • discriminator.py
  • gan.py

After creating these files, your directory structure should look like this inside of the full-gan folder:

full-gan/
├── discriminator...