关于pytorch nn.MSELoss损失的补充介绍

正常情况下,对于关键点检测网络而言,假设原图大小【550,550】,当关键点的分类为1.输出的特征图大小为【1,550,550】,然后gt也被制作成【1,550,550】的高斯特征图,但是最近的一次实验发现,当输出为【4,550,550】的时候准确率更高,提升了2个百分点,那么【4,550,550】怎样跟【1,550,550】计算MSELoss的呢?不同维度的Tensor之间也能计算MSELoss么?

>>> input
tensor([[1., 2.],
        [3., 4.]], dtype=torch.float64)
>>> target
tensor([[5., 6.]], dtype=torch.float64)
>>> loss=nn.MSELoss(input,target)
>>> result=loss(input,target)
>>> result
tensor(10., dtype=torch.float64)

input的每个维度和gt都要计算差的幂次的求和,然后多个维度的值进行累加,再除以input像素值个数(H*W);
这样再推理过程中也要使用特征图多个维度累加再除以维度;

猜你喜欢

转载自blog.csdn.net/weixin_39326879/article/details/120739892