AnimeGAN - Deep Convolutional Generative Adverserial Network

PyTorch implementation of DCGAN introduced in the paper: Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks, Alec Radford, Luke Metz, Soumith Chintala.

outgif-1

Abstract

In recent years, supervised learning with convolutional networks (CNNs) has
seen huge adoption in computer vision applications. Comparatively, unsupervised
learning with CNNs has received less attention. In this work we hope to help
bridge the gap between the success of CNNs for supervised learning and unsupervised learning. We introduce a class of CNNs called deep convolutional generative
adversarial networks (DCGANs), that have certain architectural constraints, and
demonstrate that they are a strong candidate for unsupervised learning. Training
on various image datasets, we show convincing evidence that our deep convolutional adversarial pair learns a hierarchy of representations from object parts to
scenes in both the generator and discriminator. Additionally, we use the learned
features for novel tasks - demonstrating their applicability as general image representations..

Generator architecture of DCGAN

DCGAN-1

Directory Structre

.
├── assets
├── data
├── docs
├── logs
├── pipelines
├── research
├── src
│   ├── Data.py
│   └── model.py
├── tests
├── weights
├── LICENSE
├── README.md
├── requirements.txt
└── train.py

Run Training

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 \

References

  1. Alec Radford, Luke Metz, Soumith Chintala. Unsupervised representation learning with deep convolutional
    generative adversarial networks.
    [arxiv]
  2. Ian Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley,
    Sherjil Ozair, Aaron Courville, Yoshua Bengio.
    Generative adversarial nets. NIPS 2014 [arxiv]
  3. Ian Goodfellow. Tutorial: Generative Adversarial Networks. NIPS 2016 [arxiv]
  4. DCGAN Tutorial. [https://pytorch.org/tutorials/beginner/dcgan_faces_tutorial.html]
  5. PyTorch Docs. [https://pytorch.org/docs/stable/index.html]

GitHub

https://github.com/rohitkuk/AnimeGAN