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:
- tensorflow r1.0 or higher version
- numpy 1.11.0
- scipy 0.17.0
- pillow 3.3.0
- Install tensorflow from https://github.com/tensorflow/tensorflow
- Clone this repo:
git clone https://github.com/xhujoy/CycleGAN-tensorflow
cd CycleGAN-tensorflow
- 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
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.
To see additional parameters
python main.py -h
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 keywordswild horse
andzebra
apple2orange
: 996 apple images and 1020 orange images downloaded from ImageNet using keywordsapple
andnavel 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.
- The torch implementation of CycleGAN, https://github.com/junyanz/CycleGAN
- The tensorflow implementation of pix2pix, https://github.com/yenchenlin/pix2pix-tensorflow