News
CycleGAN - Tensorflow 2
Tensorflow 2 implementation of CycleGAN.
Paper: Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks
Author: Jun-Yan Zhu et al.
Exemplar results
summer2winter
row 1: summer -> winter -> reconstructed summer, row 2: winter -> summer -> reconstructed winter
horse2zebra
row 1: horse -> zebra -> reconstructed horse, row 2: zebra -> horse -> reconstructed zebra
apple2orange
row 1: apple -> orange -> reconstructed apple, row 2: orange -> apple -> reconstructed orange
Usage
-
Environment
-
Python 3.6
-
TensorFlow 2.2, TensorFlow Addons 0.10.0
-
OpenCV, scikit-image, tqdm, oyaml
-
we recommend Anaconda or Miniconda, then you can create the TensorFlow 2.2 environment with commands below
conda create -n tensorflow-2.2 python=3.6 source activate tensorflow-2.2 conda install scikit-image tqdm tensorflow-gpu=2.2 conda install -c conda-forge oyaml pip install tensorflow-addons==0.10.0
-
NOTICE: if you create a new conda environment, remember to activate it before any other command
source activate tensorflow-2.2
-
-
Dataset
-
download the summer2winter dataset
sh ./download_dataset.sh summer2winter_yosemite
-
download the horse2zebra dataset
sh ./download_dataset.sh horse2zebra
-
see download_dataset.sh for more datasets
-
-
Example of training
CUDA_VISIBLE_DEVICES=0 python train.py --dataset summer2winter_yosemite
-
tensorboard for loss visualization
tensorboard --logdir ./output/summer2winter_yosemite/summaries --port 6006
-
-
Example of testing
CUDA_VISIBLE_DEVICES=0 python test.py --experiment_dir ./output/summer2winter_yosemite