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
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:
- The first model is called a Generator and it aims to generate new data similar to the expected one.
- The second model is named the Discriminator and it aims to recognize if an input data is ‘real’ — belongs to the original dataset — or if it is ‘fake’ — generated by a forger.
Read more in this post GANs — Generative Adversarial Networks 101.
- Create the conda environment
(base)$: conda env create -f environment.yml
- Activate the environment
(base)$: conda activate gans_101
- Run!
(gans_101)$: python -m jupyter notebook
Definition and training some models with MNIST and CIFAR-10 datasets.
- GAN - MNIST Notebook - Post Medium
- DCGAN - MNIST Notebook - Post Medium
- CGAN - MNIST Notebook - Post Medium
- CCGAN - MNIST Notebook - Post Medium
- WGAN - MNIST Notebook - Post Medium
- LSGAN - MNIST Notebook - Post Medium
- DCGAN - CIFAR10 Notebook - Post Medium
- CGAN - CIFAR10 Notebook - Post Medium
Training models with Keras - TensorFlow.
A GANs implementation using fully connected layers. Notebook
Epoch 00 | Epoch 100 | Loss |
---|---|---|
A DCGANs implementation using the transposed convolution technique. Notebook
Epoch 00 | Epoch 100 | Loss |
---|---|---|
A CGANs implementation using fully connected layers and embedding layers. Notebook
Epoch 00 | Epoch 100 | Loss |
---|---|---|
A CCGANs implementation using U-Net and convolutional neural network. Notebook
Epoch 00 | Epoch 100 | Loss |
---|---|---|
A WGANs implementation using convolutional neural network. Notebook
Epoch 00 | Epoch 100 | Loss |
---|---|---|
A LSGANs implementation using using fully connected layers. Notebook
Epoch 00 | Epoch 100 | Loss |
---|---|---|
A DCGANs implementation using the transposed convolution technique. Notebook
Epoch 00 | Epoch 100 | Loss |
---|---|---|
A CGANs implementation using the transposed convolution and convolution neural network, and concatenate layers. Notebook
Epoch 00 | Epoch 100 | Loss |
---|---|---|
-
Complete Post Medium
-
Related papers:
-
Datasets:
-
Other repositories:
made with 💙 by mafda