尊敬的作者,你好! 附载的STANet模型为什么会出现pred和tar尺寸不匹配问题,总是相差64倍。
报错信息如下:
Traceback (most recent call last):
File "/first_disk/hongzheng/CDLab-master/src/train.py", line 59, in main
trainer.run()
File "/first_disk/hongzheng/CDLab-master/src/core/trainer.py", line 75, in run
self.train()
File "/first_disk/hongzheng/CDLab-master/src/core/trainer.py", line 96, in train
acc = self.evaluate_epoch(epoch=epoch)
File "/first_disk/hongzheng/CDLab-master/src/impl/trainers/cd_trainer.py", line 185, in evaluate_epoch
loss = self.criterion(pred, tar)
File "/home/ly/miniconda3/envs/hz/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1518, in _wrapped_call_impl
return self._call_impl(args, **kwargs)
File "/home/ly/miniconda3/envs/hz/lib/python3.9/site-packages/torch/nn/modules/module.py", line 1527, in _call_impl
return forward_call(args, **kwargs)
File "/first_disk/hongzheng/CDLab-master/src/utils/losses.py", line 100, in forward
loss = 0.5torch.sum(utartorch.pow(pred, 2)) / n_u +
RuntimeError: The size of tensor a (4) must match the size of tensor b (64) at non-singleton dimension 1
或者
Traceback (most recent call last):
File "/first_disk/hongzheng/STANet/./train.py", line 169, in
请给出复现这个错误的方法,以便我帮忙排查问题~
这是我的执行命令 python train.py train --exp_config ../configs/whu/config_whu_stanet.yaml
如果我记得没错的话,对于WHU数据集,需要使用脚本先预处理数据:
https://github.com/Bobholamovic/CDLab/tree/master/scripts
我已经用这个脚本处理过了的,数据集其他都可以跑就是STANet这个方法不行
这边初步已经调试完毕啦,是因为pytorch版本的问题,安装1.6.0就可以了,辛苦你了
不客气,也没帮上忙~很高兴你的问题能得到解决