Skip to content

Latest commit

 

History

History
111 lines (96 loc) · 5.48 KB

README.md

File metadata and controls

111 lines (96 loc) · 5.48 KB

Generative Adversarial Network Models

A collection of generative adversarial network models, e.g. GAN, FGAN, SoftmaxGAN, LSGAN in Tensorflow.

How to use?

  • Command 1: python train.py gan_name train
  • Command 2: python train.py gan_name generate

Note: Generated samples will be stored in images/{gan_model}/ directory during training.

Standard GANs

Description: The Generator is similar to a Decoder whereas the Discriminator is in the form of an Encoder.

MNIST Results

The following results can be reproduced with the command:

python train.py gan_name train

Standard GANs Results

Name Epoch 1 Epoch 2 Epoch 3
GAN
DCGAN
FGAN
SoftmaxGAN
LSGAN
DRAGAN
WGAN
WGAN_GP
BGAN

Dependencies

  1. Install miniconda https://docs.conda.io/en/latest/miniconda.html
  2. Create an environment conda create --name autoencoder
  3. Activate the environment source activate autoencoder
  4. Install [Tensorflow] conda install -c conda-forge tensorflow
  5. Install [Opencv] conda install -c conda-forge opencv
  6. Install [sklearn] conda install -c anaconda scikit-learn
  7. Install [matplotlib] conda install -c conda-forge matplotlib

Datasets

If you wanna try new dataset, please make sure you make it in the following way:

  • Dataset_main_directory
    • train_data
      • category_1: (image1, image2, ...)
      • category_2: (image1, image2, ...)
      • ...
    • test_data
      • category_1: (image1, image2, ...)
      • category_2: (image1, image2, ...)
      • ...

The loader.py file will automatically upload all images and their labels (category_i folders)

Acknowledgements

This implementation has been based on the work of the great following repositories: