/chainer-gan-lib

Chainer implementation of recent GAN variants

Primary LanguagePythonMIT LicenseMIT

Chainer-GAN-lib

This repository collects chainer implementation of state-of-the-art GAN algorithms.
These codes are evaluated with the inception score on Cifar-10 dataset.
Note that our codes are not faithful re-implementation of the original paper.

How to use

Install the requirements first:

pip install -r requirements.txt

This implementation has been tested with the following versions.

python 3.5.2
chainer 4.0.0
+ https://github.com/chainer/chainer/pull/3615
+ https://github.com/chainer/chainer/pull/3581
cupy 3.0.0
tensorflow 1.2.0 # only for downloading inception model
numpy 1.11.1

Download the inception score module forked from https://github.com/hvy/chainer-inception-score.

git submodule update -i

Download the inception model.

cd common/inception
python download.py --outfile inception_score.model

You can start training with train.py.

python train.py --gpu 0 --algorithm dcgan --out result_dcgan

Please see example.sh to train other algorithms.

Quantitative evaluation

Inception Inception (Official) FID
Real data 12.0 11.24 3.2 (train vs test)
Progressive 8.5 8.8 19.1
SN-DCGAN 7.5 7.41 23.6
WGAN-GP 6.8 7.86 (ResNet) 28.2
DFM 7.3 7.72 30.1
Cramer GAN 6.4 - 32.7
DRAGAN 7.1 6.90 31.5
DCGAN-vanilla 6.7 6.16 [WGAN2] 6.99 [DRAGAN] 34.3
minibatch discrimination 7.0 6.86 (-L+HA) 31.3
BEGAN 5.4 5.62 84.0

Inception scores are calculated by average of 10 evaluation with 5000 samples.

FIDs are calculated with 50000 train dataset and 10000 generated samples.

Generated images

  • Progressive

progressive

  • SN-DCGAN

sndcagn

  • WGAN-GP

wgangp

  • DFM

dfm

  • Cramer GAN

cramer

  • DRAGAN

dragan

  • DCGAN

dcgan

  • Minibatch discrimination

minibatch_dis

  • BEGAN

began

License

MIT License. Please see the LICENSE file for details.