← Open Source
HasnainRaz

Fast-SRGAN

A Fast Deep Learning Model to Upsample Low Resolution Videos to High Resolution at 30fps.

Model DevelopmentArchitecturePython
Open on GitHub
Momentum
+0stars in 24 hours0.0%
695
Stars
120
Forks
+0
This week
3
Contributors
Created 2019-10-20 · Updated 2026-09-01 · #14879 today
Top developers
HasnainRazWenheLI

HasnainRaz/Fast-SRGAN is ranked 14,879 with 695 stars.

Same-category comparison

HasnainRaz/Fast-SRGAN is ranked 14,879 among these 8 peers; aleju/mario-ai is ranked 14,883.

Same-category comparison
NameRankMetrics
adipandas/multi-object-tracker14,862
Language:
Python
Stars:
697
Forks:
101
Description:
Multi-object trackers in Python.
auroua/InsightFace_TF14,863
Language:
Python
Stars:
697
Forks:
247
Description:
Insight Face on TensorFlow.
tkn-tub/ns3-gym14,870
Language:
C++
Stars:
697
Forks:
221
Description:
ns3-gym - The Playground for Reinforcement Learning in Networking Research.
vecxoz/vecstack14,871
Language:
Python
Stars:
697
Forks:
79
Description:
Python package for stacking (machine learning technique).
aleju/mario-ai14,883
Language:
Lua
Stars:
695
Forks:
142
Description:
Playing Mario with Deep Reinforcement Learning.
mv-lab/swin2sr14,889
Language:
Python
Stars:
695
Forks:
83
Description:
[ECCV] Swin2SR: SwinV2 Transformer for Compressed Image Super-Resolution and Restoration. Advances in Image Manipulation (AIM) workshop ECCV 2022. Try it out. over 3.3M runs https://replicate.com/mv-lab/swin2sr.
soobinseo/Transformer-TTS14,890
Language:
Python
Stars:
695
Forks:
139
Description:
A Pytorch Implementation of "Neural Speech Synthesis with Transformer Network".
flink-extended/dl-on-flink14,901
Language:
Java
Stars:
694
Forks:
196
Description:
Deep Learning on Flink aims to integrate Flink and deep learning frameworks (e.g. TensorFlow, PyTorch, etc) to enable distributed deep learning training and inference on a Flink cluster.
Key parameters and specifications
Key parameters and specifications
ParameterValue
LanguagePython
CategoryModel Development
SubcategoryArchitecture
Stars695
Forks120
Contributors3
Created date2019-10-20
Updated date2026-09-01
Stars in 1 day0
Stars in 7 days0
Rank14,879
Previous rank14,717
Rank change-162
7-day stars rank14,697
Previous 7-day stars rank14,708
7-day stars rank change11
Total stars rank14,956
Previous total stars rank14,930
Total stars rank change-26
README summary

Fast-SRGAN The goal of this repository is to enable real time super resolution for upsampling low resolution videos. Currently, the design follows the SR-GAN architecture. For speed, the upsampling is done through pixel shuffle. The training setup looks like the following diagram: Speed Benchmarks The following runtimes/fps are obtained by averaging runtimes over 800 frames. 01 | 82 | | 180x320 | 720x1080 (720p) | 0. 04 | 27 | We see it's possible to upsample to 720p at around 30fps. Requirements This was

tested on Python 3. To install the required packages, use the provided Pipfile: Pre-trained Model A pretrained generator model on the DIV2k dataset is provided in the 'models' directory. It uses 8 residual blocks, with 64 filters in every layer of the generator. To try out the provided pretrained model on your own images, run the following: Training To train, simply edit the config file in the folder with your settings, and then launch the training with: You can

also change the config parameters from the command line. The following will run training with a of 32, a generator with 12 residual blocks, and a path to the image directory . This is powered by , which means all the parameters in the config are editable via the CLI. Model checkpoints and training summaries are saved in tensorboard. To monitor training progress, open up tensorboard by pointing it to the directory that will be created when you start training. Samples Following

are some results from the provided trained model. Left shows the low res image, after 4x bicubic upsampling. Right is the actual high resolution image. The following shows images upsampled 4x by bicubic interpolation, the pretrained model from this repository and the original high resolution image as a comparison Contributing If you have ideas on improving model performance, adding metrics, or any other changes, please make a pull request or open an issue. I'd be happy to accept any contributions

.

Frequently asked questions

How many stars and forks are recorded?

HasnainRaz/Fast-SRGAN has 695 stars and 120 forks.

What is the repository rank?

HasnainRaz/Fast-SRGAN is ranked 14,879.

What language and category are recorded?

HasnainRaz/Fast-SRGAN has 695 stars, uses Python and belongs to Model Development.

Which repository is closest in rank?

HasnainRaz/Fast-SRGAN is compared with aleju/mario-ai, ranked 14,883 with 695 stars.

README

Fast-SRGAN

The goal of this repository is to enable real time super resolution for upsampling low resolution videos. Currently, the design follows the SR-GAN architecture. For speed, the upsampling is done through pixel shuffle.

The training setup looks like the following diagram:

Speed Benchmarks

The following runtimes/fps are obtained by averaging runtimes over 800 frames. Measured on MPS (MacBook M1 Pro GPU).

Input Image Size Output Size Time (s) FPS
90x160 360x640 (360p) 0.01 82
180x320 720x1080 (720p) 0.04 27

We see it's possible to upsample to 720p at around 30fps.

Requirements

This was tested on Python 3.10. To install the required packages, use the provided Pipfile:

pip install pipenv --upgrade
pipenv install --system --deploy

Pre-trained Model

A pretrained generator model on the DIV2k dataset is provided in the 'models' directory. It uses 8 residual blocks, with 64 filters in every layer of the generator.

To try out the provided pretrained model on your own images, run the following:

python inference.py --image_dir 'path/to/your/image/directory' --output_dir 'path/to/save/super/resolution/images'

Training

To train, simply edit the config file in the folder configs/config.yaml with your settings, and then launch the training with:

python train.py

You can also change the config parameters from the command line. The following will run training with a batch_size of 32, a generator with 12 residual blocks, and a path to the image directory /path/to/image/dataset.

python train.py data.image_dir="/path/to/image/dataset" training.batch_size=32 generator.n_layers=12

This is powered by hydra, which means all the parameters in the config are editable via the CLI.

Model checkpoints and training summaries are saved in tensorboard. To monitor training progress, open up tensorboard by pointing it to the outputs directory that will be created when you start training.

Samples

Following are some results from the provided trained model. Left shows the low res image, after 4x bicubic upsampling. Middle is the output of the model. Right is the actual high resolution image.

The following shows images upsampled 4x by bicubic interpolation, the pretrained model from this repository and the original high resolution image as a comparison

Contributing

If you have ideas on improving model performance, adding metrics, or any other changes, please make a pull request or open an issue. I'd be happy to accept any contributions.

Nearby in the ranking
Similar items