Enhanced Fourier-Mixture Transformer for High-Performance Image Super-Resolution (EFMSR), The Visual Computer
- Ubuntu 24.04
- Python 3.12
- PyTorch 2.8.0 + cu129
- NVIDIA GPU + CUDA
git clone https://github.com/MnTeriri/EFMSR.git
cd EFMSR
conda create -n EFMSR python=3.12
conda activate EFMSR
pip3 install torch==2.8.0 torchvision==0.23.0 --index-url https://download.pytorch.org/whl/cu129
pip install -r requirements.txt
pip install -e . --no-build-isolation-
Download training (DF2K) and testing (Set5, Set14, BSD100, Urban100, Manga109) datasets, place them in
datasets/. -
Run the following scripts. The training configuration is in
options/train/. -
The training experiment is in
experiments/. -
For multiple GPUs
# EFMSR 8 GPUs torchrun --nproc-per-node=8 --master-port=4321 basicsr/train.py -opt options/train/train_EFMSR_x2.yml --launcher pytorch torchrun --nproc-per-node=8 --master-port=4321 basicsr/train.py -opt options/train/train_EFMSR_x3.yml --launcher pytorch torchrun --nproc-per-node=8 --master-port=4321 basicsr/train.py -opt options/train/train_EFMSR_x4.yml --launcher pytorch # EFMSR-light 8 GPUs torchrun --nproc-per-node=8 --master-port=4321 basicsr/train.py -opt options/train/train_EFMSR_Light_x2.yml --launcher pytorch torchrun --nproc-per-node=8 --master-port=4321 basicsr/train.py -opt options/train/train_EFMSR_Light_x3.yml --launcher pytorch torchrun --nproc-per-node=8 --master-port=4321 basicsr/train.py -opt options/train/train_EFMSR_Light_x4.yml --launcher pytorch
-
For single GPU
# EFMSR single GPU torchrun --nproc-per-node=1 --master-port=4321 basicsr/train.py -opt options/train/train_EFMSR_x2.yml --launcher pytorch torchrun --nproc-per-node=1 --master-port=4321 basicsr/train.py -opt options/train/train_EFMSR_x3.yml --launcher pytorch torchrun --nproc-per-node=1 --master-port=4321 basicsr/train.py -opt options/train/train_EFMSR_x4.yml --launcher pytorch # EFMSR-light single GPU torchrun --nproc-per-node=1 --master-port=4321 basicsr/train.py -opt options/train/train_EFMSR_Light_x2.yml --launcher pytorch torchrun --nproc-per-node=1 --master-port=4321 basicsr/train.py -opt options/train/train_EFMSR_Light_x3.yml --launcher pytorch torchrun --nproc-per-node=1 --master-port=4321 basicsr/train.py -opt options/train/train_EFMSR_Light_x4.yml --launcher pytorch
-
We provide EFMSR and EFMSR-light with scale factors: x2, x3, x4.
-
Download testing (Set5, Set14, BSD100, Urban100, Manga109) datasets, place them in
datasets/. -
Run the following scripts.
# EFMSR python basicsr/test.py -opt options/test/test_EFMSR_x2.yml python basicsr/test.py -opt options/test/test_EFMSR_x3.yml python basicsr/test.py -opt options/test/test_EFMSR_x4.yml # EFMSR-light python basicsr/test.py -opt options/test/test_EFMSR_Light_x2.yml python basicsr/test.py -opt options/test/test_EFMSR_Light_x3.yml python basicsr/test.py -opt options/test/test_EFMSR_Light_x4.yml
This code is built on BasicSR. The smm-cuda is derived from PFT-SR.