Super resolution convolutional neural network(SRCNN) based on Tensorflow framework.
- Python 3.X.X
- Tensorflow >=1.4.0
- Scipy>=1.0.0
- Pillow >=4.3.0
- Pyyaml >=3.12
- Numpy >=1.13.3
- Install Python 3
- Follow the official installation process to install TensorFlow(you are supposed to use virtualenv at ~/tensotflow): https://www.tensorflow.org/install/
- Install python packages: pip3 install -r requirements.txt
- Images should be located in data folder as follows ./data/{dataset}/{subset}/.{extension} (e.g. ./data/cars/train/.jpg)
- Preprocess images by preparing tfrecord files: ./scripts/create-tfrecords.sh
- Run training ./scripts/start-training-local.sh
- TensorBoard is available. Run from commandline: tensorboard --logdir=./summaries/{dataset}/{subset}/logs/
- Run prediction ./scripts/start-testing-local.sh
- config.py - configuration script
- download.py - script to download image sets
- tfrecords.py - script to create tfrecords
- model.py - convolutional neural network model
- main.py - entry point
Banana
Surface of vinyl disc
Velcro
- Chao Dong's article "Image Super-Resolution Using Deep Convolutional Networks"
- Another Tensorflow implementation of SRCNN
- Subpixel repository
- Introduction to TensorFlow Datasets and Estimators
- How to use Estimator, Experiment and Dataset to train models
- Cloud MLE and GCE compatible TensorFlow distributed training example