Skip to content
forked from qobilidop/srcnn

A course project on convolutional neural networks for single image super-resolution

License

Notifications You must be signed in to change notification settings

fahaihappy/srcnn

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Convolutional Neural Networks for Single Image Super-Resolution

We have implemented SRCNN, FSRCNN and ESPCN in Keras with TensorFlow backend. The network architectures are implemented in models.py and layers.py. Our results are described in our final report. The experiments data used to get our results are also provided. To reduce the file size, weights files at each epoch are not included in the data file. But the final model file is included and there are enough data to reproduce all the plots in our final report.

Installation

A Python package toolbox is developed to facilitate our experiments. You need to install it to reproduce our experiments. If the dependencies as defined in env-gpu.yml or env-cpu.yml are already satisfied, simply do

pip install -e .

to install the package. Otherwise you can create a conda environment srcnn for all the dependencies by

conda env create -f install/env-gpu.yml

or

conda env create -f install/env-cpu.yml

We have also provided scripts to make it easy to set up an environment on a vanilla Ubuntu machine. Simply do

eval "$(curl -fsSL https://raw.githubusercontent.com/qobilidop/srcnn/master/install/create-env-gpu.sh)"

or

eval "$(curl -fsSL https://raw.githubusercontent.com/qobilidop/srcnn/master/install/create-env-cpu.sh)"

and you'll be in the ~/srcnn directory and the srcnn conda environment, ready to run any experiment.

Experiments

An experiment is configured by a json file in the experiments directory. To run an experiment, cd into the experiments directory and do

python run.py {experiment-name}.json

You can also do

python run_all.py

to run all the experiments at once. But note that it may take a very long time.

Once some experiments are finished, diagnostic plots can be made by

python plot.py

Authors

The Deep Glasses Team 👓

About

A course project on convolutional neural networks for single image super-resolution

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 94.6%
  • Shell 5.4%