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.
- 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.
[2019-07-25] MMSR v0.1 is released.
- Python 3 (Recommend to use Anaconda)
- PyTorch >= 1.1
- 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 -r requirements.txt
- dcn compilation has dependencies about GPU. So you should set
TORCH_CUDA_ARCH_LIST
in Dockerfile properly or passing proper value when build dockerfile likedocker build --build-arg TORCH_CUDA_ARCH_LIST=6.1 .
. You can know this value bytorch.cuda.get_device_capability()
in your machine. - In other way, you can just remove build folder and recompile dcn in docker container.
rm -rf ./codes/models/archs/dcn/build cd ./codes/models/archs/dcn python setup.py develop
We use datasets in LDMB format for faster IO speed. Please refer to DATASETS.md for more details.
Please see wiki- Training and Testing for the basic usage, i.e., training and testing.
Results and pre-trained models are available in the wiki-Model Zoo.
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.
This project is released under the Apache 2.0 license.