Skip to content

Tensorflow implementation for learning an image-to-image translation without input-output pairs. https://arxiv.org/pdf/1703.10593.pdf - Fork to support training on google cloud ml

Notifications You must be signed in to change notification settings

AlessioTonioni/CycleGAN-tensorflow

 
 

Repository files navigation

CycleGAN --> now with Cloud superpower


Forked to enable the training of CycleGANs models on Google Cloud ML.

Improvement:

  • improved input pipelines now using only native tensorflow ops
  • improved test code
  • removed unused stuff
  • everything is faster
  • add some input parameters, removed a lot of unused ones

Tensorflow implementation for learning an image-to-image translation without input-output pairs. (Not completed!) The method is proposed by Jun-Yan Zhu in Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networkssee. For example:

Prerequisites

  • tensorflow r1.0 or higher version
  • numpy 1.11.0
  • scipy 0.17.0
  • pillow 3.3.0

Getting Started

Installation

git clone https://github.com/xhujoy/CycleGAN-tensorflow
cd CycleGAN-tensorflow

Train

  • Download a dataset (e.g. zebra and horse images from ImageNet):
bash ./download_dataset.sh horse2zebra
  • Train a model:
python main.py --phase=train --dataset_dir=$PWD/datasets/horse2zebra
  • Use tensorboard to visualize the training details:
tensorboard --logdir=./checkpoints

Test

Assuming a pretrained model is saved in ./checkpoints

python main.py --phase test  --which_direction AtoB --dataset_dir=$PWD/datasets/horse2zebra --checkpoint_dir=$PWD/checkpoints --test_dir=$PWD/test_result
  • dataset_dir is a directory containing all the image to be transformed by Cycle GAN.

  • test_result is the folder were will be saved the transformed image and an html for side by side comparison between original and transformed images. The directory structure of dataset_dir will be manteined.

Training and Test Details

To see additional parameters

python main.py -h 

Datasets

Download the datasets using the following script:

bash ./download_dataset.sh dataset_name
  • facades: 400 images from the CMP Facades dataset.
  • cityscapes: 2975 images from the Cityscapes training set.
  • maps: 1096 training images scraped from Google Maps.
  • horse2zebra: 939 horse images and 1177 zebra images downloaded from ImageNet using keywords wild horse and zebra
  • apple2orange: 996 apple images and 1020 orange images downloaded from ImageNet using keywords apple and navel orange.
  • summer2winter_yosemite: 1273 summer Yosemite images and 854 winter Yosemite images were downloaded using Flickr API. See more details in our paper.
  • monet2photo, vangogh2photo, ukiyoe2photo, cezanne2photo: The art images were downloaded from Wikiart. The real photos are downloaded from Flickr using combination of tags landscape and landscapephotography. The training set size of each class is Monet:1074, Cezanne:584, Van Gogh:401, Ukiyo-e:1433, Photographs:6853.
  • iphone2dslr_flower: both classe of images were downlaoded from Flickr. The training set size of each class is iPhone:1813, DSLR:3316. See more details in our paper.

Reference

About

Tensorflow implementation for learning an image-to-image translation without input-output pairs. https://arxiv.org/pdf/1703.10593.pdf - Fork to support training on google cloud ml

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 97.1%
  • Shell 2.9%