Giter Site home page Giter Site logo

awesome-gans's Introduction

Awesome-GANs with Tensorflow

Tensorflow implementation of GANs(Generative Adversarial Networks)

License: MIT Awesome Total alerts Language grade: Python

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, it'll be replaced to OpenCV SOON!)
  • 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 / Fashion MNIST
  • CiFar-10 / 100
  • CelebA/CelebA-HQ
  • pix2pix DataSets
  • DIV2K DataSets
  • ImageNet DataSets
  • UrbanSound8K
  • 3DShapeNet DataSet
  • (more DataSets will be added soon!)

Repo Tree

│
├── xxGAN
│    ├──gan_img (generated images)
│    │     ├── train_xxx.png
│    │     └── train_xxx.png
│    ├── model  (model)
│    │     └── model.txt (google-drive link for pre-trained model)
│    ├── gan_model.py (gan model)
│    ├── gan_train.py (gan trainer)
│    ├── gan_tb.png   (Tensor-Board result)
│    └── readme.md    (results & explains)
├── tfutil.py         (useful TF util)
├── image_utils.py    (image processing)
└── datasets.py       (DataSet loader)

Pre-Trained Models

Here's a google drive link. You can download pre-trained models from here !

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]
BigGAN Large Scale GAN Training for High Fidelity Natural Image Synthesis [arXiv]
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] [code]
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] [code]
PassGAN A Deep Learning Approach for Password Guessing [arXiv]
PGGAN Progressive Growing of GANs for Improved Quality, Stability, and Variation [arXiv]
SeAtGAN Self-Attention Generative Adversarial Networks [arXiv] [code]
SpAtGAN Generative Adversarial Network with Spatial Attention for Face Attribute Editing [ECCV2018]
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 DeblurGAN
  2. Implement 3DGAN - later when DataSet is ready.
  3. Implement BeatGAN - later when DataSet is ready.
  4. Implement TempoGAN - later when DataSet is ready.
  5. Fix PGGAN, SGAN, SGAN++

ETC

Any suggestions and PRs and issues are WELCONE :)

Author

HyeongChan Kim / @kozistr

awesome-gans's People

Contributors

kozistr avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.