This is the GAN implementation of cats generator.
What is the GAN? Generative adversarial networks (GANs) are a class of artificial intelligence algorithms used in unsupervised machine learning, implemented by a system of two neural networks contesting with each other in a zero-sum game framework (link). So, it means that we should train 2 networks with different architectures and in different ways.
The generator has very custom but straightforward architecure. ConvTranspose2d -> SELU -> [ConvTranspose2d -> SELU] x N -> ConvTranspose2d -> Tanh
A ResNet-18 with single-neuron output seems compatible for this project.
The generator has very custom but straightforward architecure. ConvTranspose2d -> SELU -> [ConvTranspose2d -> SELU] x N -> ConvTranspose2d -> Tanh
The output on 5k iteration (for default configuration): 5 minute after: 2 hours after:
pip install -r requirements.txt
For the PyTorch installation, please follow this guide.
To run the training script, make changes in the configuration (example is in config/train.yml).
python train.py --config config/train.yml
To get radom cat (fill restore.generator in config/train.yml):
python test.py --config config/train.yml
Inspired by https://arxiv.org/abs/1406.2661
This software is covered by MIT License.