Deep learning torch.UNSQUEZE和target.UNSQUEZE之间的差异

Deep learning torch.UNSQUEZE和target.UNSQUEZE之间的差异,deep-learning,pytorch,Deep Learning,Pytorch,我通过计算MSE来训练一个简单的MLP,并得到以下错误: 用户警告:使用与输入大小(torch.size([1,1])不同的目标大小(torch.size([1,1])。这可能会由于广播而导致错误的结果。请确保尺寸相同 下面给出了正确的解决方案 target=target.unsqueze(1)而torch.unsqueze(target,1)不会。前者来自前者,后者来自后者 为什么后者修复了用户警告消息,而前者没有呢?火炬。unsqueze返回一个新的张量,在指定位置插入一个大小为1的维度。这

我通过计算MSE来训练一个简单的MLP,并得到以下错误:

用户警告:使用与输入大小(torch.size([1,1])不同的目标大小(torch.size([1,1])。这可能会由于广播而导致错误的结果。请确保尺寸相同

下面给出了正确的解决方案
target=target.unsqueze(1)
torch.unsqueze(target,1)
不会。前者来自前者,后者来自后者


为什么后者修复了用户警告消息,而前者没有呢?

火炬。unsqueze
返回一个新的张量,在指定位置插入一个大小为1的维度。这不是就地操作,因此您需要将其输出分配给某个对象。i、 e.简单地做:

target = torch.unsqueeze(target, 1)
否则,张量将保持不变,因为您没有将更改存储回它