减少张量的维度(到标量)

Reduce dimensions of a tensor (to a scalar)

在:

a = torch.tensor([[2.4]])
torch.squeeze(a, 1)
a.size(), a

输出:

(torch.Size([1, 1]), tensor([[2.4000]]))

在使用 nn.MSELoss 进行计算时,我发现尺寸不匹配。 输入具有大小 ([1,1]) 和目标 ([])。 函数 reshapesqueeze 没有起作用。 对于这个令人尴尬的简单问题,我将不胜感激。 :]

编辑:没有分配 a= 压缩值是一个简单的错误。谢谢您的回答。

函数 torch.squeeze 不会修改输入 a。要么重新分配它:

a = a.squeeze(1)

或使用函数的就地版本torch.squeeze_

a.squeeze_(1)