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

Encoding 2D data and matching to 3D objects


This recipe will break down how to create the autoencoder, including the encoder and decoder, train it, and save it for later use in this chapter. We'll focus on a simplified representation of an autoencoder for educational purposes.

Getting ready

Let's do a directory check and make sure we have all of the same files in our directory at this point:

├── data
├── docker
│   ├── build.sh
│   ├── clean.sh
│   ├── Dockerfile
│   └── kaggle.json
├── out
├── README.md
├── run_autoencoder.sh
└── src
    ├── encoder.py

Also, make sure that you've built the container from the previous chapter since all future recipes will rely on that container being built.

How to do it...

Autoencoders are simple to construct and train—this chapter is meant to make the process simple and understandable. This recipe is meant to introduce the concepts of autoencoders and how they can be used in the context of going from 2D to 3D.

 

 

Code to run a simple encoder

This portion of this...