← all repositories
sanghyun-son/EDSR-PyTorch

Resurrecting EDSR in PyTorch, minus the Torch7 bloat

An official PyTorch reimplementation of the CVPRW 2017 EDSR paper that trims model size and claims slightly better PSNR than the original Torch7 code.

EDSR-PyTorch
Not currently ranked — collecting fresh signals.
star history

What it does This is the official PyTorch port of the CVPRW 2017 paper Enhanced Deep Residual Networks for Single Image Super-Resolution. It provides training and evaluation scripts to reproduce the paper’s results, plus pre-trained EDSR and MDSR checkpoints for 2×, 3×, and 4× upscaling. Over time the repo has also absorbed implementations of related architectures—D-DBPN, RDN, RCAN—and optional perceptual losses borrowed from SRGAN.

The interesting bit The authors bill this as a deliberate slim-down: models are about half the size of the original Torch7 versions, the codebase is more compact, and reported PSNR is marginally higher. For hardware-constrained inference, a --chop_forward mode splits oversized images into patches, super-resolves them, and stitches the result back together—tested up to a 16,000×8,000 output on a 12 GB card.

Key highlights

  • Reproduces paper numbers on DIV2K and standard benchmarks (Set5, Set14, B100, Urban100)
  • Baseline and full EDSR/MDSR models with published parameter counts and PSNR
  • Half-precision test-time inference (--precision half) without image degradation
  • Video input/output support for inference-only upscaling
  • Includes SRGAN-style adversarial and VGG perceptual losses, plus untested WGAN/gradient-penalty code

Caveats

  • MDSR training and evaluation is temporarily disabled on the master branch for PyTorch 1.2.0 due to torch.utils.data.dataloader issues; legacy branches are required to use it
  • Some newer loss additions (WGAN, gradient penalty) are implemented but explicitly not tested
  • EDSR x3 and x4 training expect a pre-trained x2 model unless you manually remove the --pre_train constraint

Verdict A solid reference implementation for anyone benchmarking classic super-resolution baselines or training variants from scratch. Look elsewhere if you want a polished, maintenance-free product; the repo carries years of PyTorch version migration patches.

Frequently asked

What is sanghyun-son/EDSR-PyTorch?
An official PyTorch reimplementation of the CVPRW 2017 EDSR paper that trims model size and claims slightly better PSNR than the original Torch7 code.
Is EDSR-PyTorch open source?
Yes — sanghyun-son/EDSR-PyTorch is open source, released under the MIT license.
What language is EDSR-PyTorch written in?
sanghyun-son/EDSR-PyTorch is primarily written in Python.
How popular is EDSR-PyTorch?
sanghyun-son/EDSR-PyTorch has 2.6k stars on GitHub.
Where can I find EDSR-PyTorch?
sanghyun-son/EDSR-PyTorch is on GitHub at https://github.com/sanghyun-son/EDSR-PyTorch.

heatdrop uses Google Analytics to see which pages get read — nothing else. Your call. How we handle data.