PyTorch implementation of DCGAN introduced in the paper: Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks, Alec Radford, Luke Metz, Soumith Chintala.
Generative Adversarial Networks (GANs) are one of the most popular (and coolest) Machine Learning algorithms developed in recent times. They belong to a set of algorithms called generative models, which are widely used for unupervised learning tasks which aim to learn the uderlying structure of the given data. As the name suggests GANs allow you to generate new unseen data that mimic the actual given real data. However, GANs pose problems in training and require carefullly tuned hyperparameters.This paper aims to solve this problem.
DCGAN is one of the most popular and succesful network design for GAN. It mainly composes of convolution layers without max pooling or fully connected layers. It uses strided convolutions and transposed convolutions for the downsampling and the upsampling respectively.
Generator architecture of DCGAN
Network Design of DCGAN:
Hyperparameters are chosen as given in the paper.
Loss Curves
D: Discriminator, G: Generator
python train.py \
--wandbkey={{WANDB KEY}} \
--projectname=AnimeGAN \
--wandbentity={{WANDB USERNAME}} \
--tensorboard=True \
--dataset=anime \
--kaggle_user={{KAGGLE USERNAME}} \
--kaggle_key={{KAGGLE API KEY}} \
--batch_size=32 \
--epoch=5 \
--load_checkpoints=True \
Author: rohitkuk
Download Link: Download The Source Code
Official Website: https://github.com/rohitkuk/AnimeGAN
License: CC0-1.0
#images #pytorch #machine-learning