Generative Adversarial Networks Cookbook

More Information
  • Structure a GAN architecture in pseudocode
  • Understand the common architecture for each of the GAN models you will build
  • Implement different GAN architectures in TensorFlow and Keras
  • Use different datasets to enable neural network functionality in GAN models
  • Combine different GAN models and learn how to fine-tune them
  • Produce a model that can take 2D images and produce 3D models
  • Develop a GAN to do style transfer with Pix2Pix

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.

  • Understand the common architecture of different types of GANs
  • Train, optimize, and deploy GAN applications using TensorFlow and Keras
  • Build generative models with real-world data sets, including 2D and 3D data
Page Count 268
Course Length 8 hours 2 minutes
ISBN 9781789139907
Date Of Publication 31 Dec 2018
Generative and discriminative models
A neural network love story
Deep neural networks
Architecture structure basics
Basic building block – generator
Basic building block – discriminator
Basic building block – loss functions
GAN pieces come together in different ways
What does a GAN output?
Understanding the benefits of a GAN structure
From theory to code – a simple example
Building a neural network in Keras and TensorFlow
Explaining your first GAN component – discriminator
Explaining your second GAN component – generator
Putting all the GAN pieces together
Training your first GAN
Training the model and understanding the GAN output
What is DCGAN? A simple pseudocode example
Tools – do I need any unique tools?
Parsing the data – is our data unique?
Code implementation – generator
Code implementation – discriminator
Evaluation – how do we know it worked?
Adjusting parameters for better performance
Introducing Pix2Pix with pseudocode
Parsing our dataset
Code implementation – generator
Code – the GAN network
Code implementation – discriminator
Pseudocode – how does it work?
Parsing the CycleGAN dataset
Code implementation – generator
Code implementation – discriminator
Code implementation – GAN
On to training
How SimGAN architecture works
Pseudocode – how does it work?
How to work with training data
Code implementation – loss functions
Code implementation – generator
Code implementation – discriminator
Code implementation – GAN
Training the simGAN network


Josh Kalin

Josh Kalin is a Physicist and Technologist focused on the intersection of robotics and machine learning. Josh works on advanced sensors, industrial robotics, machine learning, and automated vehicle research projects. Josh holds degrees in Physics, Mechanical Engineering, and Computer Science. In his free time, he enjoys working on cars (has owned 36 vehicles and counting), building computers, and learning new techniques in robotics and machine learning (like writing this book).