Skip to content

Awesome Generative Adversarial Networks with tensorflow

License

Notifications You must be signed in to change notification settings

kozistr/Awesome-GANs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome-GANs with Tensorflow AwesomeBuild Status

Tensorflow implementation of GANs(Generative Adversarial Networks)

Environments

Preferred Environment

  • OS : Windows 10 / Linux Ubuntu x86-64 ~
  • CPU : any (quad core ~)
  • GPU : GTX 1060 6GB ~
  • RAM : 16GB ~
  • Library : TF 1.x with CUDA 9.0~ + cuDNN 7.0~
  • Python 3.x

Because of the image and model size, (especially BEGAN, SRGAN, StarGAN, ... using high resolution images as input), if you want to train them comfortably, you need a GPU which has more than 8GB.

But, of course, the most of the implementations use MNIST or CiFar-10, 100 DataSets. Meaning that we can handle it with EVEN lower spec GPU than 'The Preferred' :).

Prerequisites

  • python 3.x
  • tensorflow 1.x
  • numpy
  • scipy (some features are about to deprecated, they'll be replaced)
  • scikit-image
  • opencv-python
  • pillow
  • h5py
  • tqdm
  • Internet :)

Usage

Dependency Install

$ sudo python3 -m pip install -r requirements.txt

Training GAN

(Before running train.py, MAKE SURE run after downloading DataSet & changing DataSet's directory in xxx_train.py)
just after it, RUN train.py
$ python3 xxx_train.py

DataSets

Now supporting(?) DataSets are... (code is in /datasets.py)

  • MNIST
  • CiFar-10
  • CiFar-100
  • CelebA
  • CelebA-HQ
  • pix2pix DataSets
  • DIV2K DataSets
  • ImageNet DataSets
  • UrbanSound8K
  • (more DataSets will be added soon!)

Repo Tree

│
├── xxGAN
│    ├──gan_img (generated images)
│    │     ├── train_xxx.png
│    │     └── train_xxx.png
│    ├── model  (model)
│    │     ├── checkpoint
│    │     ├── ...
│    │     └── xxx.ckpt
│    ├── gan_model.py (gan model)
│    ├── gan_train.py (gan trainer)
│    ├── gan_tb.png   (Tensor-Board result)
│    └── readme.md    (results & explains)
├── image_utils.py    (image processing)
└── datasets.py       (DataSet loader)

Papers & Codes

Name Summary Paper Code
3D GAN 3D Generative Adversarial Networks [MIT]
ACGAN Auxiliary Classifier Generative Adversarial Networks [arXiv] [code]
AdaGAN Boosting Generative Models [arXiv]
AnoGAN Unsupervised Anomaly Detection with Generative Adversarial Networks [arXiv] [code]
BeatGAN Generating Drum Loops via GANs [arXiv]
BEGAN Boundary Equilibrium Generative Adversarial Networks [arXiv] [code]
BGAN Boundary-Seeking Generative Adversarial Networks [arXiv] [code]
CGAN Conditional Generative Adversarial Networks [arXiv] [code]
CipherGAN Unsupervised Cipher Cracking Using Discrete GANs [github]
CoGAN Coupled Generative Adversarial Networks [arXiv] [code]
CycleGAN Unpaired img2img translation using Cycle-consistent Adversarial Networks [arXiv] [code]
DAGAN Instance-level Image Translation by Deep Attention Generative Adversarial Networks [arXiv]
DCGAN Deep Convolutional Generative Adversarial Networks [arXiv] [code]
DeblurGAN Blind Motion Deblurring Using Conditional Adversarial Networks [arXiv]
DiscoGAN Discover Cross-Domain Generative Adversarial Networks [arXiv]
DRAGAN On Convergence and Stability of Generative Adversarial Networks [arXiv] [code]
DualGAN Unsupervised Dual Learning for Image-to-Image Translation [arXiv]
eCommerceGAN A Generative Adversarial Network for E-commerce [arXiv]
EBGAN Energy-based Generative Adversarial Networks [arXiv] [code]
f-GAN Training Generative Neural Samplers using Variational Divergence Minimization [arXiv]
GAN Generative Adversarial Networks [arXiv] [code]
GP-GAN Towards Realistic High-Resolution Image Blending [arXiv]
Softmax GAN Generative Adversarial Networks with Softmax [arXiv] [code]
GAP Generative Adversarial Parallelization [arXiv]
GEGAN Generalization and Equilibrium in Generative Adversarial Networks [arXiv]
InfoGAN Interpretable Representation Learning by Information Maximizing Generative Adversarial Networks [arXiv] [code]
LAPGAN Laplacian Pyramid Generative Adversarial Networks [arXiv] [code]
LSGAN Loss-Sensitive Generative Adversarial Networks [arXiv] [code]
MAGAN Margin Adaptation for Generative Adversarial Networks [arXiv] [code]
MRGAN Mode Regularized Generative Adversarial Networks [arXiv]
PGGAN Progressive Growing of GANs for Improved Quality, Stability, and Variation [arXiv]
SAGAN Self-Attention Generative Adversarial Networks [arXiv]
SalGAN Visual Saliency Prediction Generative Adversarial Networks [arXiv]
SEGAN Speech Enhancement Generative Adversarial Network [arXiv]
SeqGAN Sequence Generative Adversarial Networks with Policy Gradient [arXiv]
SGAN Stacked Generative Adversarial Networks [arXiv] [code]
SGAN++ Realistic Image Synthesis with Stacked Generative Adversarial Networks [arXiv] [code]
SRGAN Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network [arXiv] [code]
StableGAN Stabilizing Adversarial Nets With Prediction Methods [arXiv]
StarGAN Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation [arXiv] [code]
TAC-GAN Text Conditioned Auxiliary Classifier Generative Adversarial Network [arXiv]
TempoGAN A Temporally Coherent, Volumetric GAN for Super-resolution Fluid Flow [arXiv]
TextureGAN Controlling Deep Image Synthesis with Texture Patches [arXiv]
TripleGAN Triple Generative Adversarial Networks [arXiv]
TwinGAN Cross-Domain Translation fo Human Portraits [github]
UGAN Unrolled Generative Adversarial Networks [arXiv]
WaveGAN Synthesizing Audio with Generative Adversarial Networks [arXiv]
WGAN Wasserstein Generative Adversarial Networks [arXiv] [code]
ImprovedWGAN Improved Training of Wasserstein Generative Adversarial Networks [arXiv] [code]
XGAN Unsupervised Image-to-Image Translation for Many-to-Many Mappings [arXiv]

To-Do

  1. Implement TempoGAN
  2. Support both .h5 and .tfrecord for DataSets (Modularize)
  3. Upload PGGAN 64x64, 128x128 Results
  4. Fix PGGAN, SGAN, SGAN++
  5. Implement SAGAN

ETC

Any suggestions and PRs and issues are WELCONE :)

Author

HyeongChan Kim / @kozistr