Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/carpedm20/began-tensorflow

Tensorflow implementation of "BEGAN: Boundary Equilibrium Generative Adversarial Networks"
https://github.com/carpedm20/began-tensorflow

began celeba gan generative-model google tensorflow

Last synced: 6 days ago
JSON representation

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

Awesome Lists containing this project

README

        

# BEGAN in Tensorflow

Tensorflow implementation of [BEGAN: Boundary Equilibrium Generative Adversarial Networks](https://arxiv.org/abs/1703.10717).

![alt tag](./assets/model.png)

## Requirements

- Python 2.7 or 3.x
- [Pillow](https://pillow.readthedocs.io/en/4.0.x/)
- [tqdm](https://github.com/tqdm/tqdm)
- [requests](https://github.com/kennethreitz/requests) (Only used for downloading CelebA dataset)
- [TensorFlow 1.3.0](https://github.com/tensorflow/tensorflow)

## Usage

First download [CelebA](http://mmlab.ie.cuhk.edu.hk/projects/CelebA.html) 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](./assets/all_G_z0_64x64.png)

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

![all_G_z0_64x64](./assets/all_G_z0_128x128.png)

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

![interp_G0_64x64](./assets/interp_G0_64x64.png)

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

![interp_G0_128x128](./assets/interp_G0_128x128.png)


### Interpolation of Discriminator output of real images

![alt tag](./assets/AE_batch.png)
![alt tag](./assets/interp_1.png)
![alt tag](./assets/interp_2.png)
![alt tag](./assets/interp_3.png)
![alt tag](./assets/interp_4.png)
![alt tag](./assets/interp_5.png)
![alt tag](./assets/interp_6.png)
![alt tag](./assets/interp_7.png)
![alt tag](./assets/interp_8.png)
![alt tag](./assets/interp_9.png)
![alt tag](./assets/interp_10.png)

## Related works

- [DCGAN-tensorflow](https://github.com/carpedm20/DCGAN-tensorflow)
- [DiscoGAN-pytorch](https://github.com/carpedm20/DiscoGAN-pytorch)
- [simulated-unsupervised-tensorflow](https://github.com/carpedm20/simulated-unsupervised-tensorflow)

## Author

Taehoon Kim / [@carpedm20](http://carpedm20.github.io)