Tensorflow implementation of GANs(Generative Adversarial Networks)
- 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' :).
- 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 :)
$ sudo python3 -m pip install -r requirements.txt
(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
Now supporting(?) DataSets are... (code is in /datasets.py)
- MNIST
- CiFar-10
- CiFar-100
- CelebA
- CelebA-HQ
- pix2pix DataSets
- DIV2K DataSets
ImageNet DataSetsUrbanSound8K- (more DataSets will be added soon!)
│
├── 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)
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] | [ |
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] | [ |
SGAN++ | Realistic Image Synthesis with Stacked Generative Adversarial Networks | [arXiv] | [ |
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] |
- Implement TempoGAN
- Support both .h5 and .tfrecord for DataSets (Modularize)
- Upload PGGAN 64x64, 128x128 Results
- Fix PGGAN, SGAN, SGAN++
- Implement SAGAN
Any suggestions and PRs and issues are WELCONE :)
HyeongChan Kim / @kozistr