/BEGAN-tensorflow

Tensorflow implementation of "BEGAN: Boundary Equilibrium Generative Adversarial Networks"

Primary LanguagePython

BEGAN in Tensorflow

Tensorflow implementation of BEGAN: Boundary Equilibrium Generative Adversarial Networks.

alt tag

Requirements

  • Python 2.7
  • Pillow
  • tqdm
  • requests (Only used for downloading CelebA dataset)
  • TensorFlow 1.1.0 (Need nightly build which can be found in here, if not you'll see ValueError: 'image' must be three-dimensional.)

Usage

First download CelebA datasets with:

$ apt-get install p7zip-full # ubuntu
$ brew install p7zip # Mac
$ python download.py

or you can use your own dataset by placing images like:

data
└── YOUR_DATASET_NAME
    ├── xxx.jpg (name doesn't matter)
    ├── yyy.jpg
    └── ...

To train a model:

$ python main.py --dataset=CelebA --use_gpu=True
$ python main.py --dataset=YOUR_DATASET_NAME --use_gpu=True

To test a model (use your load_path):

$ python main.py --dataset=CelebA --load_path=CelebA_0405_124806 --use_gpu=True --is_train=False --split valid

Results

Generator output (64x64) with gamma=0.5 after 300k steps

all_G_z0_64x64

Generator output (128x128) with gamma=0.5 after 200k steps

all_G_z0_64x64

Interpolation of Generator output (64x64) with gamma=0.5 after 300k steps

interp_G0_64x64

Interpolation of Generator output (128x128) with gamma=0.5 after 200k steps

interp_G0_128x128

Interpolation of Discriminator output of real images

alt tag
alt tag
alt tag
alt tag
alt tag
alt tag
alt tag
alt tag
alt tag
alt tag
alt tag

Related works

Author

Taehoon Kim / @carpedm20