Linfeng-Tang / PSFusion

This is official Pytorch implementation of "Rethinking the necessity of image fusion in high-level vision tasks: A practical infrared and visible image fusion network based on progressive semantic injection and scene fidelity"
MIT License
119 stars 3 forks source link

数据问题 #14

Open Liumomo30 opened 3 months ago

Liumomo30 commented 3 months ago

您好,项目对数据有什么特别的要求吗,比如通道、设备之类的,我的一些数据成功进行了融合,但另一批数据出现了融合报错无法运行的情况,感谢解答

Linfeng-Tang commented 3 months ago

理论上是没有要求的 不知道是什么数据出现了问题呢?

Liumomo30 commented 3 months ago

理论上是没有要求的 不知道是什么数据出现了问题呢?

感谢您的回复,我在使用另一批数据的时候遇到了下面的问题,请为您知道如何解决吗? Traceback (most recent call last): File "train.py", line 200, in main() File "train.py", line 81, in main multi_task_trainer(train_loader, File "train.py", line 130, in multi_task_trainer seg_pred, bi_pred, bd_pred, fused_img, re_vi, re_ir = multi_task_model(img_vi, img_ir)
File "/home/liumomo/anaconda3/envs/psfusion/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, kwargs) File "/home/liumomo/实验/Fusion/PSFusion-main/PSF.py", line 298, in forward fused_f3 = self.low_fuse3(rgb3, thermal3) File "/home/liumomo/anaconda3/envs/psfusion/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, *kwargs) File "/home/liumomo/实验/Fusion/PSFusion-main/PSF.py", line 345, in forward out = self.obj_fuse(rgb_obj, Inf_obj) File "/home/liumomo/anaconda3/envs/psfusion/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(input, kwargs) File "/home/liumomo/实验/Fusion/PSFusion-main/PSF.py", line 394, in forward recal_w = self.Recalibrate(input) File "/home/liumomo/anaconda3/envs/psfusion/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(*input, *kwargs) File "/home/liumomo/anaconda3/envs/psfusion/lib/python3.8/site-packages/torch/nn/modules/container.py", line 141, in forward input = module(input) File "/home/liumomo/anaconda3/envs/psfusion/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1110, in _call_impl return forward_call(input, **kwargs) File "/home/liumomo/anaconda3/envs/psfusion/lib/python3.8/site-packages/torch/nn/modules/batchnorm.py", line 168, in forward return F.batch_norm( File "/home/liumomo/anaconda3/envs/psfusion/lib/python3.8/site-packages/torch/nn/functional.py", line 2419, in batch_norm _verify_batch_size(input.size()) File "/home/liumomo/anaconda3/envs/psfusion/lib/python3.8/site-packages/torch/nn/functional.py", line 2387, in _verify_batch_size raise ValueError("Expected more than 1 value per channel when training, got input size {}".format(size)) ValueError: Expected more than 1 value per channel when training, got input size torch.Size([1, 32, 1, 1])

Linfeng-Tang commented 3 months ago

看你的报错似乎是batch_norm的通道数出现了问题 你尝试打印一下输入到BN前数据的size呢?另外路径中最好不要出现中文哈 有的dataloader可能对中文路径不兼容。