Awesome
pix2pix-tensorflow
This repository is a Tensorflow implementation of the Isola's Image-to-Image Tranaslation with Conditional Adversarial Networks, CVPR2017.
<p align="center"> <img src="https://user-images.githubusercontent.com/37034031/42619365-d285e190-85f2-11e8-8e52-9d53ddfc5653.png"> </p>Requirements
- tensorflow 1.8.0
- python 3.5.3
- numpy 1.14.2
- matplotlib 2.0.2
- scipy 0.19.0
Generated Results
- facades dataset
A to B: from RGB image to generate label image
B to A: from label image to generate RGB image
- maps dataset A to B: from statellite image to generate map image B to A: from map image to generate statellite image
Generator & Discriminator Structure
- Generator structure
- Discriminator structure
Documentation
Download Dataset
Download datasets (script borrowed from torch code)
bash ./src/download_dataset.sh [dataset_name]
dataset_name
supportscityscapes
,edges2handbags
,edges2shoes
,facades
, andmaps
.
Note: our implementation has tested onfacades
andmaps
dataset only. But you can easily revise the code to run on other datasets.
Directory Hierarchy
├── pix2pix
│ ├── src
│ │ ├── dataset.py
│ │ ├── download_dataset.sh
│ │ ├── main.py
│ │ ├── pix2pix.py
│ │ ├── solver.py
│ │ ├── tensorflow_utils.py
│ │ └── utils.py
├── Data
│ ├── facades
│ └── maps
Note: please put datasets on the correct position based on the Directory Hierarchy.
Training pix2pix Model
Use main.py
to train a pix2pix model. Example usage:
python main.py --dataset=facades --which_direction=0 --is_train=true
gpu_index
: gpu index, default:0
dataset
: dataset name for choice [facades
|maps
], default:facades
which_direction
: AtoB (0
) or BtoA (1
), default: AtoB0
batch_size
: batch size for one feed forward, default:1
is_train
: 'training or inference mode, default:False
learning_rate
: initial learning rate, default:0.0002
beta1
: momentum term of Adam, default:0.5
iters
: number of interations, default:200000
print_freq
: print frequency for loss, default:100
save_freq
: save frequency for model, default:20000
sample_freq
: sample frequency for saving image, default:500
sample_batch
: sample size for check generated image quality, default:4
load_model
: folder of save model that you wish to test, (e.g. 20180704-1736). default:None
Evaluating pix2pix Model
Use main.py
to evaluate a pix2pix model. Example usage:
python main.py --is_train=false --load_model=folder/you/wish/to/test/e.g./20180704-1746
Please refer to the above arguments.
Citation
@misc{chengbinjin2018pix2pix,
author = {Cheng-Bin Jin},
title = {pix2pix tensorflow},
year = {2018},
howpublished = {\url{https://github.com/ChengBinJin/pix2pix-tensorflow}},
note = {commit xxxxxxx}
}
Attributions/Thanks
- This project borrowed some code from yenchenlin and pix2pix official websit
- Some readme formatting was borrowed from Logan Engstrom
License
Copyright (c) 2018 Cheng-Bin Jin. Contact me for commercial use (or rather any use that is not academic research) (email: sbkim0407@gmail.com). Free for research use, as long as proper attribution is given and this copyright notice is retained.