Bobholamovic / CDLab

Yet another repository for developing and benchmarking deep learning-based change detection methods.
The Unlicense
196 stars 30 forks source link

关于src/utils/losses.py中BCLoss的问题 #12

Open TingFinn opened 1 year ago

TingFinn commented 1 year ago

您好,感谢您提供一个这么好的repo。我有个问题想请教一下您,当我使用SVCD数据集对STAnet进行训练时,出现了以下问题: Traceback (most recent call last): File "/CDLab/src/train.py", line 59, in main trainer.run() File "CDLab/src/core/trainer.py", line 75, in run self.train() File "CDLab/src/core/trainer.py", line 91, in train self.train_epoch(epoch) File "CDLab/src/impl/trainers/cd_trainer.py", line 123, in train_epoch loss = self.criterion(pred, tar) File "anaconda3/envs/CDLab/lib/python3.7/site-packages/torch/nn/modules/module.py", line 1194, in _call_impl return forward_call(*input, *kwargs) File "/CDLab/src/utils/losses.py", line 103, in forward loss = 0.5torch.sum(utar*torch.pow(pred, 2)) / n_u + \ RuntimeError: The size of tensor a (8) must match the size of tensor b (64) at non-singleton dimension 1 进程已结束,退出代码1

Bobholamovic commented 1 year ago

可能是输出pred和标签tar的通道维度不一样,建议断点调试一下看看

TingFinn commented 1 year ago

可能是输出pred和标签tar的通道维度不一样,建议断点调试一下看看

是的,pred为[8, 64, 256, 256], tar为[8, 256 ,256]。 应当如何修改呢? 我发现使用相同的数据集(SVCD)对FC-EF进行训练时,其pred为[8, 2, 256, 256], tar为[8, 256, 256], 但是并不会报错。

TingFinn commented 1 year ago

可能是输出pred和标签tar的通道维度不一样,建议断点调试一下看看

我给tar增加了一个维度,即[8,256,256] -> [8, 1, 256, 256],代码能够运行了。

TingFinn commented 1 year ago

可能是输出pred和标签tar的通道维度不一样,建议断点调试一下看看

虽然代码能够运行了,但是loss达到60几且一直无法下降,是否是不能简单地增加维度?您有什么建议吗?感谢

Bobholamovic commented 1 year ago

请问输出的通道数为什么是64呀?对于SVCD这样的二元变化检测数据集,如果采用度量学习的方式训练的话,输出通道数应该是1哦?

TingFinn commented 1 year ago

请问输出的通道数为什么是64呀?对于SVCD这样的二元变化检测数据集,如果采用度量学习的方式训练的话,输出通道数应该是1哦?

感谢您的建议,按照您的思路我解决了问题,问题是由pytorch版本的不同导致的。

JackLiu-97 commented 1 year ago

请问您是怎么解决的,是更换了pytorch版本吗?

TingFinn commented 1 year ago

请问您是怎么解决的,是更换了pytorch版本吗?

https://github.com/justchenhao/STANet/issues/85#issuecomment-1238809068

JackLiu-97 commented 1 year ago

您好,能否提供提供一下您论文当中可视化用到的代码?非常感谢。

Bobholamovic commented 1 year ago

您好,能否提供提供一下您论文当中可视化用到的代码?非常感谢。

请参考:https://github.com/Bobholamovic/CDLab/issues/10