Niklas Haas bbbaabe2c0 Switch to the adam optimizer instead of SGD+momentum
Converges faster, and doesn't get stuck forever like momentum
optimization does
2017-07-11 03:00:49 +02:00
2017-03-01 18:01:34 -08:00
2017-03-01 17:16:44 -08:00
2017-03-01 17:16:44 -08:00
2017-03-01 17:16:44 -08:00
2017-03-01 17:16:44 -08:00
2017-03-01 17:16:44 -08:00
2017-07-11 02:59:34 +02:00

FSRCNN-TensorFlow

TensorFlow implementation of the Fast Super-Resolution Convolutional Neural Network (FSRCNN). This implements two models: FSRCNN which is more accurate but slower and FSRCNN-s which is faster but less accurate. Based on this project.

Prerequisites

  • Python 2.7
  • TensorFlow
  • Scipy version > 0.18
  • h5py
  • PIL

Usage

For training: python main.py
For testing: python main.py --train False

To use FSCRNN-s instead of FSCRNN: python main.py --fast True

Can specify epochs, learning rate, data directory, etc:
python main.py --epochs 10 --learning_rate 0.0001 --data_dir Train
Check main.py for all the possible flags

Also includes script expand_data.py which scales and rotates all the images in the specified training set to expand it

Result

Original butterfly image:

orig

Bicubic interpolated image:

bicubic

Super-resolved image:

srcnn

TODO

  • Add RGB support (Increase each layer depth to 3)
  • Speed up pre-processing for large datasets
  • Set learning rate for deconvolutional layer to 1e-4 (vs 1e-3 for the rest)

References

S
Description
An implementation of the Fast Super-Resolution Convolutional Neural Network in TensorFlow
Readme GPL-3.0
48 MiB
Languages
Python 100%