Skip to content

Implementation BEGAN([Boundary Equilibrium Generative Adversarial Networks](https://arxiv.org/pdf/1703.10717.pdf)) by Keras.

License

Notifications You must be signed in to change notification settings

mokemokechicken/keras_BEGAN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

Implementation BEGAN(Boundary Equilibrium Generative Adversarial Networks) by Keras.

Version

Developed by these software versions.

  • Mac OS Sierra: 10.12.4
  • Python: 3.5.3
  • Keras: 2.0.3
  • Theano: 0.9.0
  • Pillow: 4.1.0

How to Use

Setup

pip install -r requirements.txt

Create Dataset

Prepare Image

You can use any square images. For example,

images in http://vis-www.cs.umass.edu/lfw/

[new] All images aligned with deep funneling 
(111MB, md5sum 68331da3eb755a505a502b5aacb3c201)

Convert Images to 64x64 pixels

Install imagemagick

For convert command, install imagemagick.

brew install imagemagick

Convert Images

  • ORIGINAL_IMAGE_DIR: dir of original JPG images
  • TARGET_DIR: dir of after converted images
ORIGINAL_IMAGE_DIR=PATH/TO/ORIGINAL/IMAGE_DIR
CONVERTED_DIR=PATH/TO/CONVERTED/IMAGE_DIR

mkdir -p "$CONVERTED_DIR"
for f in $(find "$ORIGINAL_IMAGE_DIR" -name '*.jpg')
do
  echo "$f"
  convert "$f" -resize 64x64 ${CONVERTED_DIR}/$(basename $f)
done

Create Dataset

PYTHONPATH=src python src/began/create_dataset.py "$CONVERTED_DIR"

Training BEGAN

PYTHONPATH=src python src/began/training.py

Images are generated in each epoch into generated/epXXX/ directory.

Training History

FYI: epoch time in training

About 680 sec/epoch

  • Linux

  • Dataset: All images aligned with deep funneling (13194 samples)

  • Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz

  • GeForce GTX 1080

  • Environment Variables

    KERAS_BACKEND=theano
    THEANO_FLAGS=device=gpu,floatX=float32,lib.cnmem=1.0

Generate Image

PYTHONPATH=src python src/began/generate_image.py

Generated images are outputted in generated/main/ directory.

Generated Image Examples

Epoch 1
Epoch 25
Epoch 50
Epoch 75
Epoch 100
Epoch 125
Epoch 150
Epoch 175
Epoch 200
Epoch 215

more filters or layers?

Memo

Trouble: Running with Theano 0.9.0 CPU mode on Linux

Theano 0.9.0 CPU mode on Linux seems to have memory leak problem. See: keras-team/keras#5935

About

Implementation BEGAN([Boundary Equilibrium Generative Adversarial Networks](https://arxiv.org/pdf/1703.10717.pdf)) by Keras.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages