Pytorch: 1D target tensor expected, multi-target not supported

凌俊材
2023-12-01

在使用nn.CrossEntropyLoss损失函数时,它要求传入的target必须是1D,像这样:[1,2,3,4,5],这样[[1],[2],[3]]是不行的!!
解决方法:

loss = self.loss_func(pred, y.squeeze(1).long())

同时,使用CrossEntropyLoss时,要求第一个参数为网络输出值,FloatTensor类型,第二个参数为目标值,LongTensor类型。

 类似资料: