MMSR
MMSR is an open source image and video super-resolution toolbox based on PyTorch. It is a part of the open-mmlab project developed by Multimedia Laboratory, CUHK. MMSR is based on our previous projects: BasicSR, ESRGAN, and EDVR.
Highlights
- A unified framework suitable for image and video super-resolution tasks. It is also easy to adapt to other restoration tasks, e.g., deblurring, denoising, etc.
- State of the art: It includes several winning methods in competitions: such as ESRGAN (PIRM18), EDVR (NTIRE19).
- Easy to extend: It is easy to try new research ideas based on the code base.
Updates
[2019-07-25] MMSR v0.1 is released.
Dependencies and Installation
- Python 3 (Recommend to use Anaconda)
- PyTorch >= 1.0
- NVIDIA GPU + CUDA
- Deformable Convolution. We use mmdetection's dcn implementation. Please first compile it.
cd ./codes/models/archs/dcn python setup.py develop
- Python packages:
pip install numpy opencv-python lmdb pyyaml
- TensorBoard:
- PyTorch >= 1.1:
pip install tb-nightly future
- PyTorch == 1.0:
pip install tensorboardX
- PyTorch >= 1.1:
Dataset Preparation
We use datasets in LDMB format for faster IO speed. Please refer to DATASETS.md for more details.
Training and Testing
Please see wiki- Training and Testing for the basic usage, i.e., training and testing.
Model Zoo and Baselines
Results and pre-trained models are available in the wiki-Model Zoo.
Contributing
We appreciate all contributions. Please refer to mmdetection for contributing guideline.
Python code style
We adopt PEP8 as the preferred code style. We use flake8 as the linter and yapf as the formatter. Please upgrade to the latest yapf (>=0.27.0) and refer to the yapf configuration and flake8 configuration.
Before you create a PR, make sure that your code lints and is formatted by yapf.
License
This project is released under the Apache 2.0 license.