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

Putting all the GAN pieces together


We've got a generator and a discriminator—that's all we need, right? Not so fast. We need to actually create the adversarial model. Also, there is an open ended question about why are we not focusing more on the loss function. In this case, each of the loss functions are built into the Keras library, so we aren't going to focus heavily on that aspect right now. When we cover more complex models, the loss functions will need to be customized, and that will require more explanation. For now, let's keep our focus on how to structure a basic GAN and how we can train it in an adversarial manner.

Getting ready

All of this code will be put into the gan.py file under the full-gan folder. This class represents the adversarial model portion of the model development and will allow us to put the two neural networks against each other. This recipe requires the same basic tools that you have used for the last two recipes.

How it works...

The Generative Adversarial model...