- Notifications
You must be signed in to change notification settings - Fork39
sczhou/IGNN
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Code repo for "Cross-Scale Internal Graph Neural Network for Image Super-Resolution" [paper][supp]
1 Download training dataset and test datasets fromhere.
2 Crop training dataset DIV2K to sub-images.
python ./datasets/prepare_DIV2K_subimages.py
Remember to modify the 'input_folder' and 'save_folder' in the above script.
The denoising code is tested with Python 3.7, PyTorch 1.1.0 and Cuda 9.0 but is likely to run with newer versions of PyTorch and Cuda.
1 Create conda environment.
conda create --name ignnconda activate ignnconda install pytorch=1.1.0 torchvision=0.3.0 cudatoolkit=9.0 -c pytorch
2 Install PyInn.
pip install git+https://github.com/szagoruyko/pyinn.git@master
3 Install matmul_cuda.
bash install.sh
4 Install other dependencies.
pip install -r requirements.txt
Downloading the pretrained models from thislink and put them into ./ckpt
Use the following command to train the network:
python runner.py --gpu [gpu_id]\ --phase 'train'\ --scale [2/3/4]\ --dataroot [dataset root]\ --out [output path]
Use the following command to resume training the network:
python runner.py --gpu [gpu_id]\ --phase 'resume'\ --weights './ckpt/IGNN_x[2/3/4].pth'\ --scale [2/3/4]\ --dataroot [dataset root]\ --out [output path]
You can also use the following simple command with different settings in config.py:
python runner.py
Use the following command to test the network on benchmark datasets (w/ GT):
python runner.py \ --gpu [gpu_id]\ --phase 'test'\ --weights './ckpt/IGNN_x[2/3/4].pth'\ --scale [2/3/4]\ --dataroot [dataset root]\ --testname [Set5, Set14, BSD100, Urban100, Manga109]\ --out [output path]
Use the following command to test the network on your demo images (w/o GT):
python runner.py \ --gpu [gpu_id]\ --phase 'test'\ --weights './ckpt/IGNN_x[2/3/4].pth'\ --scale [2/3/4]\ --demopath [test folder path]\ --testname 'Demo'\ --out [output path]
You can also use the following simple command with different settings in config.py:
python runner.py
For visual comparison on the 5 benchmarks, you can download our IGNN results fromhere.
If you find our work useful for your research, please consider citing the following papers :)
@inproceedings{zhou2020cross,title={Cross-scale internal graph neural network for image super-resolution},author={Zhou, Shangchen and Zhang, Jiawei and Zuo, Wangmeng and Loy, Chen Change},booktitle={Advances in Neural Information Processing Systems},year={2020}}
We are glad to hear from you. If you have any questions, please feel free to contactshangchenzhou@gmail.com.
This project is open sourced under MIT license.