Book Image

Hands-On Image Generation with TensorFlow

By : Soon Yau Cheong
Book Image

Hands-On Image Generation with TensorFlow

By: Soon Yau Cheong

Overview of this book

The emerging field of Generative Adversarial Networks (GANs) has made it possible to generate indistinguishable images from existing datasets. With this hands-on book, you’ll not only develop image generation skills but also gain a solid understanding of the underlying principles. Starting with an introduction to the fundamentals of image generation using TensorFlow, this book covers Variational Autoencoders (VAEs) and GANs. You’ll discover how to build models for different applications as you get to grips with performing face swaps using deepfakes, neural style transfer, image-to-image translation, turning simple images into photorealistic images, and much more. You’ll also understand how and why to construct state-of-the-art deep neural networks using advanced techniques such as spectral normalization and self-attention layer before working with advanced models for face generation and editing. You'll also be introduced to photo restoration, text-to-image synthesis, video retargeting, and neural rendering. Throughout the book, you’ll learn to implement models from scratch in TensorFlow 2.x, including PixelCNN, VAE, DCGAN, WGAN, pix2pix, CycleGAN, StyleGAN, GauGAN, and BigGAN. By the end of this book, you'll be well versed in TensorFlow and be able to implement image generative technologies confidently.
Table of Contents (15 chapters)
Section 1: Fundamentals of Image Generation with TensorFlow
Section 2: Applications of Deep Generative Models
Section 3: Advanced Deep Generative Techniques

Building a Deep Convolutional GAN (DCGAN)

Although Vanilla GAN has proven itself as a generative model, it suffers from a few training problems. One of them is the difficulty in scaling networks to make them deeper in order to increase their capacities. The authors of DCGAN incorporated a few recent advancements in CNNs at that time to make networks deeper and stabilize the training. These include the removal of the maxpool layer, replacing it with strided convolutions for downsampling, and the removal of fully connected layers. This has since become the standard way of designing a new CNN.

Architecture guidelines

DCGAN is not strictly a fixed neural network that has layers pre-defined with a fixed set of parameters such as kernel size and the number of layers. Instead, it is more like architecture design guidelines. The use of batch normalization, activation, and upsampling in DCGAN has influenced the development of GANs. We will therefore look into them more, which should...