python - 如何获得特定维度上张量的 MSE?

标签 python pytorch tensor mean-square-error

我有 2 个张量 .sizetorch.Size([2272, 161]) .我想得到它们之间的均方误差。但是,我希望它沿着 161 个 channel 中的每一个,以便我的误差张量具有 .sizetorch.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) 

我认为没有一种直接的方法可以在损失的初始化时指定应用均值/总和的维度。希望有帮助!

关于python - 如何获得特定维度上张量的 MSE?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60976758/

相关文章:

Python 对列表项的唯一列表进行排序

python - OSError : Error no file named ['pytorch_model.bin' , 'tf_model.h5' , 'model.ckpt.index' ]

python - 在神经网络中关闭或忽略 pytorch 中的神经元

machine-learning - PyTorch 由于广播而给出不正确的结果

pytorch - 将张量扩展几个维度

python - 打印和返回得到不同的结果

python - 将相似的模式合并为单一的共识模式

python - 在 POST 请求时将用户的 IP 地址存储在 django 的数据库中

python - 如何使用 TensorFlow 的 eager execution 检查张量的内容?

python - 'tensorboard' 不被识别为内部或外部命令,