这两天利用pytorch搭建模型,训练分类网络,模型没问题,代码没问题,但是损失就是死活不收敛。看一下代码吧:
src_prec, _ , src_feat = self.model(src_imgs)
loss_src_ce = self.criterion_ce(src_prec[:, :self.src_classes], src_labels, weight_src)
死活不好使,搞不清楚,可是我后来稍微一改,改成下面的:
src_prec, temp , src_feat = self.model(src_imgs)
loss_src_ce = self.criterion_ce(src_prec[:, :self.src_classes], src_labels, weight_src)
loss_src_ce = self.criterion_ce(src_prec[:, :self.src_classes], src_labels, weight_src)
结果就好了,就是在解包模型传出来的返回值的时候,不用下划线 _ 填充位置就好了,我也不知道为什么这么神奇