Popularity
0.6
Stable
Activity
0.0
Stable
7
3
1

Description

This is an attempt to make a wrapper class for a GAN in keras which can be used to abstract the whole architecture process.

Programming language: Python
License: MIT License
Latest version: v1.0.1

Simple GAN alternatives and similar packages

Based on the "Machine Learning" category.
Alternatively, view Simple GAN alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Simple GAN or a related project?

Add another 'Machine Learning' Package

README

Simple GAN

This is my attempt to make a wrapper class for a GAN in keras which can be used to abstract the whole architecture process.

Build StatusPyPI versionQuality Gate

Overview

[alt text](assets/mnist_gan.png "GAN network using the MNIST dataset")

Flow Chart

Setting up a Generative Adversarial Network involves having a discriminator and a generator working in tandem, with the ultimate goal being that the generator can come up with samples that are indistinguishable from valid samples by the discriminator.

[alt text](assets/flow.jpg "High level flowchart")

Installation

    pip install adversarials

Example

import numpy as np
from keras.datasets import mnist

from adversarials.core import Log
from adversarials import SimpleGAN

if __name__ == '__main__':
    (X_train, _), (_, _) = mnist.load_data()

    # Rescale -1 to 1
    X_train = (X_train.astype(np.float32) - 127.5) / 127.5
    X_train = np.expand_dims(X_train, axis=3)

    Log.info('X_train.shape = {}'.format(X_train.shape))

    gan = SimpleGAN(save_to_dir="./assets/images",
    save_interval=20)
    gan.train(X_train, epochs=40)

Documentation

Github Pages

Credits

Contribution

You are very welcome to modify and use them in your own projects.

Please keep a link to the original repository. If you have made a fork with substantial modifications that you feel may be useful, then please open a new issue on GitHub with a link and short description.

License (MIT)

This project is opened under the MIT 2.0 License which allows very broad use for both academic and commercial purposes.

A few of the images used for demonstration purposes may be under copyright. These images are included under the "fair usage" laws.

Todo

  • Add view training(discriminator and generator) simultaneously using tensorboard
  • Provision for Parallel data processing and multithreading
  • Saving models to Protobuff files
  • Using TfGraphDef and other things that could speed up training and inference


*Note that all licence references and agreements mentioned in the Simple GAN README section above are relevant to that project's source code only.