Generative Adversarial Networks, or GANs for short, were first described in the 2014 paper by Ian Goodfellow, et al. titled “Generative Adversarial Networks.”
Since then, GANs have seen a lot of attention given that they are perhaps one of the most effective techniques for generating large, high-quality synthetic images.
As such, a number of books have been written about GANs, mostly focusing on how to develop and use the models in practice.
In this post, you will discover books written on Generative Adversarial Networks.
Kick-start your project with my new book Generative Adversarial Networks with Python, including step-by-step tutorials and the Python source code files for all examples.
Let’s get started.
GAN Books
Most of the books have been written and released under the Packt publishing company.
Almost all of the books suffer the same problems: that is, they are generally low quality and summarize the usage of third-party code on GitHub with little original content. This particularly applies to the books from Packt.
Nevertheless, it is useful to have an idea of what books are available and the topics covered. This can be helpful both in choosing a book for self-study and to get an idea of the types of topics you may want to explore when getting started with GANs.
We will review the following seven books:
- GANs in Action.
- Generative Deep Learning.
- Advanced Deep Learning with Keras.
- Learning Generative Adversarial Networks.
- Generative Adversarial Networks Projects.
- Generative Adversarial Networks Cookbook.
- Hands-On Generative Adversarial Networks with Keras.
Additionally, we will also review the GAN section of two popular deep learning books.
If I have missed a book on GANs, please let me know in the comments below.
The books mostly seem to cover the same GAN architectures, such as:
- Standard: GAN, DCGAN.
- Conditional: cGAN, SS-GAN, InfoGAN, ACGAN.
- Loss: WGAN, WGAN-GP, LSGAN.
- Image Translation: Pix2Pix, CycleGAN.
- Advanced GANs: BigGAN, PG-GAN, StyleGAN.
- Other: StackGAN, 3DGAN, BEGAN, SRGAN, DiscoGAN, SEGAN.
Let’s take a closer look at the topics covered by each book.
1. GANs in Action
Title: GANs in Action: Deep learning with Generative Adversarial Networks
Written by Jakub Langr and Vladimir Bok, published in 2019.
This book provides a gentle introduction to GANs using the Keras deep learning library.
Table of Contents
- Chapter 1: Introduction to GANs
- Chapter 2: Autoencoders as a Path to GANs
- Chapter 3: Your First GAN: Generating Handwritten Digits
- Chapter 4: Deep Convolutional GAN (DCGAN)
- Chapter 5: Training and Common Challenges: GANing for Success
- Chapter 6: Progressing with GANs
- Chapter 7: Semi-Supervised GAN
- Chapter 8: Conditional GAN
- Chapter 9: CycleGaN
- Chapter 10: Adversarial Examples
- Chapter 11: Practical Applications of GANs
- Chapter 12: Looking Ahead
Want to Develop GANs from Scratch?
Take my free 7-day email crash course now (with sample code).
Click to sign-up and also get a free PDF Ebook version of the course.
2. Generative Deep Learning
Title: Generative Deep Learning: Teaching Machines to Paint, Write, Compose, and Play
Written by David Foster, published in 2019.
This book focuses on the more general problem of generative modeling with deep learning, allowing variational autoencoders to be discussed. It does cover a range of GAN models, but also language modeling with LSTMs.
Table of Contents
- Part 1: Introduction to Generative Deep Learning
- Chapter 1. Generative Modeling
- Chapter 2. Deep Learning
- Chapter 3. Variational Autoencoders
- Chapter 4. Generative Adversarial Networks
- Part 2: Teaching Machines to Paint, Write, Compose and Play
- Chapter 5. Paint
- Chapter 6. Write
- Chapter 7. Compose
- Chapter 8. Play
- Chapter 9. The Future of Generative Modeling
3. Advanced Deep Learning with Keras
Title: Advanced Deep Learning with Keras: Apply deep learning techniques, autoencoders, GANs, variational autoencoders, deep reinforcement learning, policy gradients, and more
Written by Rowel Atienza, published in 2018.
This book is on the more general topic of advanced deep learning with Keras, allowing the coverage of autoencoders, variational autoencoders, and deep reinforcement learning. Nevertheless, the book has four chapters on GANs and I consider it a GAN book.
- Advanced Deep Learning with Keras, Amazon.
- Advanced Deep Learning with Keras, Packt.
- Book Source Code, GitHub.
Table of Contents
- Chapter 1: Introducing Advanced Deep Learning with Kera
- Chapter 2: Deep Neural Networks
- Chapter 3: Autoencoders
- Chapter 4: Generative Adversarial Networks (GANs)
- Chapter 5: Improved GANs
- Chapter 6: Disentangled Representation GANs
- Chapter 7: Cross-Domain GANs
- Chapter 8: Variational Autoencoders (VAEs)
- Chapter 9: Deep Reinforcement Learning
- Chapter 10: Policy Gradient Methods
4. Learning Generative Adversarial Networks
Title: Learning Generative Adversarial Networks: Next-generation deep learning simplified.
Written by Kuntal Ganguly, published in 2017.
This book provides a very simple introduction to GANs. The book may have been removed or unpublished by Packt and replaced with a video course.
Table of Contents
- Chapter 1: Introduction to Deep Learning
- Chapter 2: Unsupervised Learning with GAN
- Chapter 3: Transfer Image Style Across Various Domains
- Chapter 4: Building Realistic Images from Your Text
- Chapter 5: Using Various Generative Models to Generate Images
- Chapter 6: Taking Machine Learning to Production
5. Generative Adversarial Networks Projects
Title: Generative Adversarial Networks Projects: Build next-generation generative models using TensorFlow and Keras.
Written by Kailash Ahirwar, published in 2019.
This book summarizes a range of GANs with code examples in Keras.
- Generative Adversarial Networks Projects, Amazon.
- Generative Adversarial Networks Projects, Packt.
- Book Source Code
Table of Contents
- Chapter 1: Introduction to Generative Adversarial Networks
- Chapter 2: 3D-GAN – Generating Shapes Using GANs
- Chapter 3: Face Aging Using Conditional GAN
- Chapter 4: Generating Anime Characters Using DCGANs
- Chapter 5: Using SRGANs to Generate Photo-Realistic Images
- Chapter 6: StackGAN – Text to Photo-Realistic Image Synthesis
- Chapter 7: CycleGAN – Turn Painting into Photos
- Chapter 8: Conditional GAN – Image-to-Image Translation Using Conditional Adversarial Networks
- Chapter 9: Predicting the Future of GANs
6. Generative Adversarial Networks Cookbook
Title: Generative Adversarial Networks Cookbook: Over 100 recipes to build generative models using Python, TensorFlow, and Keras
Written by Josh Kalin, published in 2018.
- Generative Adversarial Networks Cookbook, Amazon.
- Generative Adversarial Networks Cookbook, Packt.
- Book Source Code.
Table of Contents
- Chapter 1: What is a Generative Adversarial Network
- Chapter 2: Data First, Easy Environment, and Data Prep
- Chapter 3: My First GAN in Under 100 Lines
- Chapter 4: Dreaming of New Outdoor Structures Using DCGAN
- Chapter 5: Pix2Pix Image-to-Image Translation
- Chapter 6: Style Transferring Your Image Using CycleGAN
- Chapter 7: Using Simulated Images to Create Photo-Realistic Eyeballs with SimGAN
- Chapter 8: From Image to 3D Models Using GANs
7. Hands-On Generative Adversarial Networks with Keras
Title: Hands-On Generative Adversarial Networks with Keras: Your guide to implementing next-generation generative adversarial networks
Written by Rafael Valle, published in 2019.
This may be one of the better Packt published books as the code appears to be better quality and a wider array of GANs are covered.
- Hands-On Generative Adversarial Networks with Keras, Amazon.
- Hands-On Generative Adversarial Networks with Keras, Packt.
- Book Source Code.
Table of Contents
- Section 1: Introduction and Environmental Setup
- Chapter 1: Deep Learning Basics and Environment Setup
- Chapter 2: Introduction to Generative Models
- Section 2: Training GANs
- Chapter 3: Training GANs
- Chapter 4: Evaluating Your First GAN
- Chapter 5: Improving Your First GAN
- Section 3: Applications of GANS in Computer Vision, Natural Language Processing and Audio
- Chapter 6: Synthesizing and Manipulating Images with GANs
- Chapter 7: Progressive Growing of GANs
- Chapter 8: Generation of Discrete Sequences Using GANs
- Chapter 9: Text-to-Image Synthesis with GANs
- Chapter 10: Speech Enhancement with GANs
- Chapter 11: TequilaGAN – Identifying GAN Samples
- Chapter 12: What’s next in GANs
GANs in Other Books
The topic of GANs has been covered in other modern books on deep learning.
Two important examples are listed below.
8. Deep Learning
GANs were described in the 2016 textbook titled “Deep Learning” by Ian Goodfellow, et al., specifically:
- Chapter 20: Deep Generative Models.
Section 20.10.4 titled “Generative Adversarial Networks” provides a short introduction to GANs at the time of writing, two years after the original paper.
It would be great to see Goodfellow write a dedicated textbook on the topic sometime in the future.
9. Deep Learning with Python
GANs were also covered by Francois Chollet in his 2017 book titled “Deep Learning with Python“, specifically:
- Chapter 8: Generative Deep Learning.
In Section 8.5 titled “Introduction to generative adversarial networks,” the topic of GANs is introduced and a worked example of developing a GAN for one image class (frogs) in the CIFAR-10 dataset is covered. Source code is provided here:
Summary
In this post, you discovered a suite of books on the topic of Generative Adversarial Networks, or GANs.
Have you read any of the listed books?
Let me know what you think of it in the comments below.
Do you have any questions?
Ask your questions in the comments below and I will do my best to answer.
Manning and O’Reilly books are often of high quality.
Agreed.
But often stuffed with too much pseudo-theory (half math and half english), I just want working code and practical explanations – hence I write my own now 🙂
I am just reading the first one. Not yet finished. Which one do you consider the best?
The first one might be the best.
I must admit that none really satisfied me – my way of learning – which is why I wrote my own.
This Part i agree, as a researcher doing a project and is new to deep learning. Learning from these books is never enough. You really have to work it out yourself, google a lot, read papers, github and write the code yourself. However, these books serve as good sources to reference in your thesis/project :))
Agreed!
Most PACKT books are utter rubbish, strongly recommend avoidance, this goes whatever the titles. Some are so bad as to be unbelievable.
David Foster’s GAN book though is simply excellent and highly recommended.
Agreed.
Thanks for sharing.
Let me see, of the 9 books you mentioned 5 are published by “Packt”, although I’m sure you know very well books published by this publisher are trash
What’s funny is when Elie Kawerk says “Manning and O’Reilly books are often of high quality”, you respond “But often stuffed with too much pseudo-theory”
Ha Ha, of course you’re no biased AT ALL, and your site is not AT ALL just a stupid publicity for this trashy “Packt” publishing
Dude, people are not dumb
Thanks for sharing your thoughts John.
Sorry the list was not useful to you.
Dear Dr Jason,
I’m not here to argue for or against a particular publisher. I have a few books published by Packt. Though Packt books may not be as comprehensive as your tutorials, they may be helpful.
Having books from Packt or any other publisher is handy where (i) the Packt publication may take the same topic from a different angle from your books. It helps to reinforce the topic and (ii) as a byproduct, there may be techniques in Python used in the Packt books to demonstrate the underlying main topic.
Thank you,
Anthony from Sydney
/
Thank you for sharing your thoughts, it’s greatly appreciated!
Mr. Jason
Could you recommend one of these books for me?? The one that has mathematics explanation included because I really want to use it in my thesis. I have two in mind, GANs in action and hand on generative adversarial networks of packt, but I really don’t know which one to choose. The review of gans in action state that there are a few of math explanation which makes me concern as I might want to use as reference. For hands on of packt, there is no topic of DCGAN in table of content (I want the book that cover DCGAN) so I am not sure for this book either.
In that case (8) is the closest to what you want. But in that case, I would recommend you to read the original paper too: https://papers.nips.cc/paper/2014/file/5ca3e9b122f61f8f06494c97b1afccf3-Paper.pdf