mafda / generative_adversarial_networks_101

Keras implementations of Generative Adversarial Networks. GANs, DCGAN, CGAN, CCGAN, WGAN and LSGAN models with MNIST and CIFAR-10 datasets.
MIT License
204 stars 79 forks source link
ccgan ccgans cgan cgans cifar-10 cifar10 conda-environment dcgan gan gans generative-adversarial-network generative-adversarial-networks jupyter-notebook keras lsgan lsgans mnist mnist-dataset tensorflow wgan

Generative Adversarial Networks - GANs

This repository presents the basic notions that involve the concept of Generative Adversarial Networks.

"...the most interesting idea in the last 10 years in ML". Yann LeCun

Definition

Generative Adversarial Networks or GANs is a framework proposed by Ian Goodfellow, Yoshua Bengio and others in 2014.

GANs are composed of two models, represented by artificial neural network:

Read more in this post GANs — Generative Adversarial Networks 101.

Configure environment

(base)$: conda env create -f environment.yml
(base)$: conda activate gans_101
(gans_101)$: python -m jupyter notebook

Models

Definition and training some models with MNIST and CIFAR-10 datasets.

MNIST dataset

CIFAR-10 dataset

Results

Training models with Keras - TensorFlow.

MNIST dataset

Generative Adversarial Networks - GANs

A GANs implementation using fully connected layers. Notebook

Epoch 00 Epoch 100 Loss
GAN with MNIST GAN with MNIST GAN with MNIST

Deep Convolutional Generative Adversarial Networks - DCGANs

A DCGANs implementation using the transposed convolution technique. Notebook

Epoch 00 Epoch 100 Loss
GAN with MNIST GAN with MNIST GAN with MNIST

Conditional Generative Adversarial Nets - CGANs

A CGANs implementation using fully connected layers and embedding layers. Notebook

Epoch 00 Epoch 100 Loss
CGAN with MNIST CGAN with MNIST CGAN with MNIST

Context-Conditional Generative Adversarial Networks - CCGANs

A CCGANs implementation using U-Net and convolutional neural network. Notebook

Epoch 00 Epoch 100 Loss
CGAN with MNIST CGAN with MNIST CGAN with MNIST

Wasserstein Generative Adversarial Networks - WGANs

A WGANs implementation using convolutional neural network. Notebook

Epoch 00 Epoch 100 Loss
WGAN with MNIST WGAN with MNIST WGAN with MNIST

Least Squares General Adversarial Networks - LSGANs

A LSGANs implementation using using fully connected layers. Notebook

Epoch 00 Epoch 100 Loss
LSGAN with MNIST LSGAN with MNIST LSGAN with MNIST

CIFAR-10 dataset

Deep Convolutional Generative Adversarial Networks - DCGANs

A DCGANs implementation using the transposed convolution technique. Notebook

Epoch 00 Epoch 100 Loss
DCGAN with CIFAR-10 DCGAN with CIFAR-10 DCGAN with CIFAR-10

Conditional Generative Adversarial Networks - CGANs

A CGANs implementation using the transposed convolution and convolution neural network, and concatenate layers. Notebook

Epoch 00 Epoch 100 Loss
CGAN with CIFAR-10 CGAN with CIFAR-10 CGAN with CIFAR-10

References


made with 💙 by mafda