Re-implement CycleGAN in Tensorlayer
Prerequisites:
- Tensorlayer
- TensorFlow
- Python
Run:
CUDA_VISIBLE_DEVICES=0 python main.py
(if datasets are collected by yourself, you can use dataset_clean.py or dataset_crop.py to pre-process images)
Theory:
The generator process:
The discriminator process:
Result Improvement
- Data augmentation
- Resize convolution[4]
- Instance normalization[5]
data augmentation:
Instance normalization(comparision by original paper arxiv.org/abs/1607.08…:
Resize convolution (Remove Checkerboard Artifacts):
Final Results:
Reference:
- [1] Original Paper: arxiv.org/pdf/1703.10…
- [2] Original implement in Torch: github.com/junyanz/Cyc…
- [3] TensorLayer by HaoDong: github.com/zsdonghao/t…
- [4] Resize Convolution: distill.pub/2016/deconv…
- [5] Instance Normalization: arxiv.org/abs/1607.08…