Linfeng-Tang / SwinFusion

This is official Pytorch implementation of "SwinFusion: Cross-domain Long-range Learning for General Image Fusion via Swin Transformer"
174 stars 19 forks source link

The problem of n_channels=3 in VIF #1

Closed Alixiying closed 1 year ago

Alixiying commented 1 year ago

Traceback (most recent call last): File "main_train_swinfusion.py", line 259, in main() File "main_train_swinfusion.py", line 193, in main model.optimize_parameters(current_step) File "G:\python\SwinFusion\models\model_plain.py", line 194, in optimize_parameters total_loss, loss_text, loss_int, loss_ssim = self.G_lossfn(self.A, self.B, self.E) File "D:\anaconda\envs\pt\lib\site-packages\torch\nn\modules\module.py", line 1190, in _call_impl return forward_call(*input, kwargs) File "G:\python\SwinFusion\models\loss_vif.py", line 93, in forward loss_gradient = 20 self.L_Grad(image_A, image_B, image_fused) File "D:\anaconda\envs\pt\lib\site-packages\torch\nn\modules\module.py", line 1190, in _call_impl return forward_call(input, kwargs) File "G:\python\SwinFusion\models\loss_vif.py", line 36, in forward gradient_A = self.sobelconv(image_A) File "D:\anaconda\envs\pt\lib\site-packages\torch\nn\modules\module.py", line 1190, in _call_impl return forward_call(*input, **kwargs) File "G:\python\SwinFusion\models\loss_vif.py", line 69, in forward sobelx=F.conv2d(x, self.weightx, padding=1) RuntimeError: Given groups=1, weight of size [1, 1, 3, 3], expected input[8, 3, 128, 128] to have 1 channels, but got 3 channels instead