Giter Club home page Giter Club logo

pix2pix-tensorflow's Introduction

pix2pix-tensorflow

This repository is a Tensorflow implementation of the Isola's Image-to-Image Tranaslation with Conditional Adversarial Networks, CVPR2017.

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 supports cityscapes, edges2handbags, edges2shoes, facades, and maps.
    Note: our implementation has tested on facades and maps 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: AtoB 0
  • 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

License

Copyright (c) 2018 Cheng-Bin Jin. Contact me for commercial use (or rather any use that is not academic research) (email: [email protected]). Free for research use, as long as proper attribution is given and this copyright notice is retained.

Related Projects

pix2pix-tensorflow's People

Contributors

chengbinjin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.