[paper (arXiv)] [paper (NeurIPS)] [poster] [website] [interview (youtube)] [code]
Authors: Zinan Lin, Ashish Khetan, Giulia Fanti, Sewoong Oh
The codes are based on Taehoon Kim's implementation of DCGAN. Before running codes, please download MNIST dataset according to instructions on this page. Many thanks to Taehoon Kim!
Before running codes, you may need to change GPU configurations according to the devices you have. The configurations are set in config.py
in each directory. Please refer to GPUTaskScheduler github page for details of how to make proper configurations.
The GAN part is implemented by TensorFlow, the evaluation part is implemented by Keras. Please set Keras's backend to Theano. Otherwise there will be two tensorflow models running on one GPU node & one process, which may produce unpredictable results.
- VEEGAN experiment
cd VEEGAN_experiment
python train_mnist.py
python main.py
- Unrolled GAN experiment, D=1/2G
cd unrolled_GAN_experiment
cd D=0.5G
python train_mnist.py
python main.py
- Unrolled GAN experiment, D=1/4G
cd unrolled_GAN_experiment
cd D=0.25G
python train_mnist.py
python main.py
Note: The MNIST classifier code
train_mnist.py
is based on Keras' demo code.
The detailed explanation of the architectures, hyperparameters, metrics, and experimental settings are given in the paper.
The tensorflow checkpoint files of one trial of DCGAN, PacDCGAN2, and PacDCGAN3, PacDCGAN4 in VEEGAN experiment (Figure 3 and Table 2 above) can be downloaded here.