如何在特定维度上获得张量的 MSE?
How can I get the MSE of a tensor across a specific dimension?
我有 2 个张量 .size
of torch.Size([2272, 161])
。我想得到它们之间的均方误差。但是,我希望沿着 161 个通道中的每一个通道使用它,以便我的误差张量的 .size
为 torch.Size([161])
。我怎样才能做到这一点?
好像torch.nn.MSELoss
不让我指定维度
对于 nn.MSELoss
您可以指定选项 reduction='none'
。然后,这会返回两个张量的每个输入位置的平方误差。然后你可以应用 torch.sum/torch.mean.
a = torch.randn(2272,161)
b = torch.randn(2272,161)
loss = nn.MSELoss(reduction='none')
loss_result = torch.sum(loss(a,b),dim=0)
我认为没有直接的方法可以在损失初始化时指定应用哪个维度mean/sum。希望对您有所帮助!
我有 2 个张量 .size
of torch.Size([2272, 161])
。我想得到它们之间的均方误差。但是,我希望沿着 161 个通道中的每一个通道使用它,以便我的误差张量的 .size
为 torch.Size([161])
。我怎样才能做到这一点?
好像torch.nn.MSELoss
不让我指定维度
对于 nn.MSELoss
您可以指定选项 reduction='none'
。然后,这会返回两个张量的每个输入位置的平方误差。然后你可以应用 torch.sum/torch.mean.
a = torch.randn(2272,161)
b = torch.randn(2272,161)
loss = nn.MSELoss(reduction='none')
loss_result = torch.sum(loss(a,b),dim=0)
我认为没有直接的方法可以在损失初始化时指定应用哪个维度mean/sum。希望对您有所帮助!