/mmsr

Open MMLab Image and Video Super-Resolution Toolbox, , including SRResNet, SRGAN, ESRGAN, EDVR, etc.

Primary LanguagePythonApache License 2.0Apache-2.0

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

Dockerfile

  • dcn compilation has dependencies about GPU. So you should set TORCH_CUDA_ARCH_LIST in Dockerfile properly or passing proper value when build dockerfile like docker build --build-arg TORCH_CUDA_ARCH_LIST=6.1 . . You can know this value by torch.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
    

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.