Implementing the original Generative Adversarial Networks paper and running it on three hello world
problems.
├── README.md
├── constants.py
├── gan.py
├── main.py
├── /media
├── requirements.txt
└── utils.py
For training on the faces problem, run the following line:
python3 main.py --problem FACES --seed 2022
Run python3 main.py -h
for the help message.
This project contains an implementation of the original GAN paper
along training it on three small problems.
The implementation is based on pytorch, and logging the training progress is done in Weights&Biases
.
The problems are as follows:
FACES
: The task is to generate faces, where each face is an image of four pixel, two black pixels on the main anti-diagonal line and two white pixels on the diagonal line. A small random variation on the blackness and whiteness is introduced into the data generation process.SINE
: The task is to generate data points on a 2-D plane that will resemble a sine curve.MNIST
: The task is to generate handwritten digits similar to the mnist dataset.
Examples of the generated data after some training iterations:
- Hardy Hasan
These resources are of great help to understand how a GAN system works: