XPixelGroup / BasicSR

Open Source Image and Video Restoration Toolbox for Super-resolution, Denoise, Deblurring, etc. Currently, it includes EDSR, RCAN, SRResNet, SRGAN, ESRGAN, EDVR, BasicVSR, SwinIR, ECBSR, etc. Also support StyleGAN2, DFDNet.
https://basicsr.readthedocs.io/en/latest/
Apache License 2.0
6.71k stars 1.18k forks source link

Grayscale images reading issue #643

Open ZhuangzhuangMa opened 11 months ago

ZhuangzhuangMa commented 11 months ago

Hi,

I am writing to report an issue related to reading grayscale images when attempting to train the SWINIR model. I encountered a problem when I inputted some grayscale images and modified the 'in_chans' parameter to 1. Could you kindly assist me with this matter? Below, you can find the error message and the training options message for reference: Traceback (most recent call last): File "/home/jm3421/BasicSR/basicsr/train.py", line 215, in train_pipeline(root_path) File "/home/jm3421/BasicSR/basicsr/train.py", line 169, in train_pipeline model.optimize_parameters(current_iter) File "/home/jm3421/anaconda3/envs/swinir/lib/python3.10/site-packages/basicsr/models/sr_model.py", line 94, in optimize_parameters self.output = self.net_g(self.lq) File "/home/jm3421/anaconda3/envs/swinir/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl return self._call_impl(*args, kwargs) File "/home/jm3421/anaconda3/envs/swinir/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl return forward_call(*args, *kwargs) File "/home/jm3421/anaconda3/envs/swinir/lib/python3.10/site-packages/basicsr/archs/swinir_arch.py", line 897, in forward x = self.conv_first(x) File "/home/jm3421/anaconda3/envs/swinir/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl return self._call_impl(args, kwargs) File "/home/jm3421/anaconda3/envs/swinir/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl return forward_call(*args, **kwargs) File "/home/jm3421/anaconda3/envs/swinir/lib/python3.10/site-packages/torch/nn/modules/conv.py", line 460, in forward return self._conv_forward(input, self.weight, self.bias) File "/home/jm3421/anaconda3/envs/swinir/lib/python3.10/site-packages/torch/nn/modules/conv.py", line 456, in _conv_forward return F.conv2d(input, weight, bias, self.stride, RuntimeError: Given groups=1, weight of size [180, 1, 3, 3], expected input[4, 3, 96, 96] to have 1 channels, but got 3 channels instead


general settings

name: train_SwinIR_SRx4_Bentheimer model_type: SwinIRModel scale: 4 num_gpu: auto manual_seed: 0

dataset and data loader settings

datasets: train: name: Bentheimer type: PairedImageDataset dataroot_gt: datasets/Bentheimer/Train/HR dataroot_lq: datasets/Bentheimer/Train/LR

meta_info_file: basicsr/data/meta_info/meta_info_DIV2K800sub_GT.txt

filename_tmpl: '{}'
io_backend:
  type: disk

gt_size: 384
use_hflip: true
use_rot: true

# data loader
num_worker_per_gpu: 6
batch_size_per_gpu: 4
dataset_enlarge_ratio: 1
prefetch_mode: ~

val: name: Bentheimer type: PairedImageDataset dataroot_gt: datasets/Bentheimer/Val/HR dataroot_lq: datasets/Bentheimer/Val/LR io_backend: type: disk

Many thanks for your help in advance.