Skip to content
Keras implementation of CycleGAN
Branch: master
Clone or download
Latest commit 7a9bf74 Dec 12, 2017
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
data Update images.md Oct 13, 2017
pics
README.md Update README.md Dec 11, 2017
discriminator.py
generator.py Add files via upload Nov 29, 2017
layers.py Add files via upload Nov 28, 2017
models.py
resnet50.py
resnet_builder.py
test.py
train.py Add files via upload Nov 28, 2017
utils.py Add files via upload Dec 11, 2017

README.md

CycleGAN with perception loss

What is this repository for?

Implementation of CycleGan model in Keras (original implementation link).

Demonstration: De-raining images

The example below presents 18 rainy images of shape (128x128x3) where cycleGAN with perception loss has been used to de-rain.

How do I get set up ?

Install Anaconda 3 Import the conda environment named deepenv using :

conda env create -f deepenv.yml

Activate that environment using :

source activate deepenv

Now all the dependencies must be installed without problems (Keras 2, tensorflow 1 ...)

How do I train CycleGAN ?

you may have information on how to run train.py by:

python predict.py --help

you can train your own model by running (N.B.: example):

python train.py --path_trainA ./data/trainA --path_trainB ./data/trainB --pic_dir ./intermediate_res --lmbd 10

How do I train CycleGAN with perception loss ?

you can train CycleGan with Perception loss by running:

python train.py --path_trainA ./data/trainA --path_trainB ./data/trainB --pic_dir ./intermediate_res --lmbd 10 --lmbd_feat 1

How do I deploy CycleGAN on new images after training?

you can deploy the model on a given collection, in order to transform A to B or B to A (Possible only after training).

python test.py --path_images ./data/trainA --pic_dir ./results --model_path ./../a2b.h5

Contents

└── cyclegan
    ├── data                         # data folder contaning both A and B images
         ├── trainA                  # images belonging to class A
         └── trainB                  # images belonging to class B
    ├── pics                         # intermediate results folders (for training phase)
    ├── deepenv.yml                  # Environment (keras 2, tensorflow 1.1, etc ...)
    ├── discriminator.py             # discriminator
    ├── generator.py                 # generator (Resblock 6 & unet_128)
    ├── resnet_builder.py            # utils for perception loss (Resnet50)
    ├── resnet50.py                  # cnn for perception loss (Resnet50)
    ├── layers.py                    # ReflectPadding2D & InstanceNormalization2D
    ├── models.py                    # cycleGAN: fit & predict
    ├── README.md                    # Readme
    ├── test.py                      # deploy model
    ├── train.py                     # train model
    ├── utils.py                     # utils

Acknowledgement

You can’t perform that action at this time.