← all repositories
brade31919/SRGAN-tensorflow

Upscaling images with adversarial spite

A faithful TensorFlow port of SRGAN that turns thumbnails into plausible high-res photos by letting a discriminator and generator fight it out.

SRGAN-tensorflow
Velocity · 7d
+0.3
★ / day
Trend
steady
star history

What it does

This repo implements the 2016 SRGAN paper for single-image super-resolution: feed it a low-resolution image, get back a 4× upscaled version. It follows the paper’s v5 settings closely, including the three-stage training pipeline (SRResNet pre-training → GAN with MSE loss → GAN with VGG perceptual loss). A pre-trained model is provided, so you can run inference without training anything.

The interesting bit

The author trained on only 8,156 RAISE photos instead of ImageNet, yet claims results “close to the paper” — a useful data point for anyone without a Google-scale cluster. The implementation is built on TF-Slim and borrows heavily from the pix2pix-tensorflow codebase.

Key highlights

  • Pre-trained model available via Google Drive; inference works out of the box with test_SRGAN.sh
  • Supports both MSE and VGG54 perceptual loss modes
  • Requires VGG19 weights from TF-Slim models for training
  • Tested on Ubuntu 14.04/16.04 with Titan X, GTX 1080, and 1080Ti
  • TensorBoard logging included for all three training stages

Caveats

  • Locked to Python 2.7 and TensorFlow r1.0/r1.2 — decidedly legacy stack in 2024
  • Training data (RAISE HR/LR) lives on Google Drive links that may rot
  • BSD100, Set14, and Set5 benchmark results are promised but not actually reported in the README

Verdict

Worth a look if you need a working SRGAN reference in old-school TensorFlow, or want to compare perceptual-loss behavior against modern PyTorch rewrites. Skip it if you’re starting fresh — newer frameworks and implementations have left this one behind.

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