It seems that in /semi_supervised_segmentation/losses.py line 195, it should be ce_loss = self.ce(net_output, target.long()) if self.weight_ce != 0 else 0 instead of ce_loss = self.ce(net_output, target[:, 0].long()) if self.weight_ce != 0 else 0? Because the shape of net_output id (64, 2, 64, 64), and the shape of target.long() is (64, 64, 64)
It seems that in
/semi_supervised_segmentation/losses.pyline 195, it should bece_loss = self.ce(net_output, target.long()) if self.weight_ce != 0 else 0instead ofce_loss = self.ce(net_output, target[:, 0].long()) if self.weight_ce != 0 else 0? Because the shape of net_output id(64, 2, 64, 64), and the shape of target.long() is(64, 64, 64)