【问题标题】:How can I get the MSE of a tensor across a specific dimension?如何获得跨特定维度的张量的 MSE?
【发布时间】:2020-07-13 13:11:14
【问题描述】:

我有 2 个张量,.sizetorch.Size([2272, 161])。我想得到它们之间的均方误差。但是,我希望它沿着 161 个通道中的每一个通道,以便我的错误张量具有 .sizetorch.Size([161])。我怎样才能做到这一点?

看来torch.nn.MSELoss 不允许我指定维度。

【问题讨论】:

    标签: python pytorch tensor mean-square-error


    【解决方案1】:

    对于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) 
    

    我认为没有直接的方法可以在初始化损失时指定将平均值/总和应用于哪个维度。希望对您有所帮助!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-30
      • 1970-01-01
      • 2012-08-16
      • 1970-01-01
      • 1970-01-01
      • 2020-01-13
      相关资源
      最近更新 更多