Everything about Generative Adversarial Networks
- Introduction
- Papers and Code
- Projects
- Tutorials, Blogs and Talks
- Datasets
- Other Resources
- Contributing
Generative Adversarial Networks are very popular generative models which can be trained to generate synthetic data that is similar to the training data. Basic idea behind GANs is, we have two models, one called Generator and another called Discriminator. Generator takes noise as an input and produces synthetic data. Then, this generated data(fake data) along with original data from training dataset is fed into disciminator. Here, discriminator tries to distinguish between original data and fake data. As learning proceeds generator learns to generate more and more realistic data and discriminator learns to get better at distinguishing generated and fake data. In other words, GANs learn a probability distribution of the training data which we can use later to sample the data from it. Here, we have two networks(generator and discriminator) which we need to train simultaneously. GANs are also famous for their unstable training, they are hard to train. But we have made great progress in this field especially in image generation. As of now, we have GAN models which can generate high-resolution realistic images. GANs are so popular that every week new paper on GAN is coming out. This repository contains various resources which can be used to learn or implement GANs.
Generative Adversarial Networks [Paper]
Deep Convolutional Generative Adversarial Networks [Paper]
- A tensorflow implementation of "Deep Convolutional Generative Adversarial Networks"
- A torch implementation of DCGAN
Wasserstein GAN [Paper]
Bayesian GAN [Paper]
DiscoGAN [Paper]
- PyTorch implementation of Learning to Discover Cross-Domain Relations with Generative Adversarial Networks
- TensorFlow and PyTorch implementation of DiscoGAN
Bayesian GAN [Paper]
Energy-based Generative Adversarial Network [Paper]
Boundary Equilibrium GAN [Paper]
Coupled Generative Adversarial Networks [Paper]
MAGAN: Margin Adaptation for Generative Adversarial Networks [Paper]
InfoGAN : Interpretable Representation Learning by Information Maximizing Generative Adversarial Nets [Paper]
SEGAN : Speech Enhancement Generative Adversarial Networks [Paper]
Conditional Generative Adversarial Nets [Paper]
Boundary-Seeking Generative Adversarial Networks [Paper]
Softmax GAN [Paper]
Cycle GAN [Paper]
- PyTorch implementation of Cycle GAN
- TensorFlow implementaion of Cycle GAN
- Torch implementation of Cycle GAN
GAWWN : Generative Adversarial What-Where Network [Paper]
StackGAN: Text to Photo-realistic Image Synthesis with Stacked Generative Adversarial Networks [Paper]
End-to-end Adversarial Learning for Generative Conversational Agents [Paper]
StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation [Paper]
Unsupervised Cross-Domain Image Generation [Paper]
Generative Adversarial Nets from a Density Ratio Estimation Perspective [Paper]
BCGAN : Bayesian Conditional Generative Adverserial Networks [Paper]
SeqGAN: Sequence Generative Adversarial Nets with Policy Gradient [Paper]
Gang of GANs : Generative Adversarial Networks with Maximum Margin Ranking [Paper]
SketchGAN : Adversarial Training For Sketch Retrieval [Paper]
Unrolled Generative Adversarial Networks [Paper]
TextureGAN : Controlling Deep Image Synthesis with Texture Patches [Paper]
Temporal Generative Adversarial Nets [Paper]
Recurrent Topic-Transition GAN for Visual Paragraph Generation [Paper]
Triangle Generative Adversarial Networks [Paper]
AttnGAN: Fine-Grained Text to Image Generation with Attentional Generative Adversarial Networks [Paper]
Structured Generative Adversarial Networks [Paper]
BigGan: Large Scale GAN Training for High Fidelity Natural Image Synthesis [Paper]
- Image Completion with Deep Learning in TensorFlow[Blog][Github]
- Image Super Resolution with Deep Learning[Github]
- Neural Photo Editor : A simple interface for editing natural photos with generative neural networks[Github]
- iGAN : Interactive Image Generation via Generative Adversarial Networks[Github]
- CleverHans : A library for benchmarking vulnerability to adversarial examples[Github]
- VideoGAN : Generating Videos with Scene Dynamics[Blog][Github]
- NIPS 2016 Tutorial on Generative Adversarial Networks by Ian Goodfellow - This tutorial by Ian Goodfellow (Inventor of GAN) covers almost everything you need to get started with Generative Adversarial Networks. You will get to know about- Why you should study generative models and GANs?, How GAN works?, Research frontiers in GANs and more.
- GANs in Action: Deep learning with Generative Adversarial Networks This book takes you from no knowledge of GANs to understanding and implementing some of the more advanced architectures at the practitioner level. Focus on applications and code.
- Generative Adversarial Networks in 50 lines of code (PyTorch)
- Generative Models by OpenAI
- How to train a GAN? Tips and Tricks to make GANs work
- Generative Adversarial Networks in TensorFlow
- GANs, some open questions
- An Introduction to GAN (TensorFlow)
- BEGAN : State of the art generation of the faces with generative adversarial networks
- SimGANs : a game changer in unsupervised learning, self-driving cars and more
- MNIST Generative Adversarial Model in Keras
- NIPS 2016 : Generative Adversarial Network by Ian Goodfellow [Video]
- NIPS 2016 workshop on Adversarial Training [7 videos]
- Generalization and Equilibrium in Generative Adversarial Nets (GANs)[Video]
- CelebA : 202,599 number of face images
- MNIST : 70,000 images of hand-written digits
- Imagenet
- Cifar 10 and 100
- COCO
- LSUN
- Last chapter of Deep Learning Book : Deep Generative Models
- The GAN Zoo
- How to Train a GAN? Tips and tricks to make GANs work.
- Collection of generative models in PyTorch and TensorFlow
- keras Implementation of Generative Adversarial Networks
- Feel free to make pull requests or you can write me at vsavan7@gmail.com.