Pytorch MSELoss

Posted jiangkejie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Pytorch MSELoss相关的知识,希望对你有一定的参考价值。

CLASS torch.nn.MSELoss(size_average=Nonereduce=Nonereduction=‘mean‘)

Creates a criterion that measures the mean squared error (squared L2 norm) between each element in the input x and target yy.

创建一个准则测量输入x和目标y每个元的平方二范数。

x和y可以是任意形状的张量,每个张量总的元素个数为n。

Note: size_average and reduce are in the process of being deprecated, and in the meantime, specifying either of those two args will override reduction. Default: ‘mean‘

size_average和reduce正在被弃用,因此我们只看reduction参数

reduction=‘none‘

The unreduced (i.e. with reduction set to ‘none‘) loss can be described as:

技术图片

返回每个元素的平方二范数,shape与输入相同。

reduction=‘sum‘和reduction=‘mean‘

所有对应元素的平方二范数求和或求平均(sum / n)。

技术图片

 

 1 a = torch.tensor([[[1., 2.]], [[1, 2]]])  # [2, 1, 2]
 2 b = torch.tensor([[[2., 4.]], [[2, 4.]]]) # [2, 1, 2]
 3 
 4 C =  torch.nn.MSELoss(reduction=none)
 5 
 6 loss = C(a, b)
 7 
 8 print(a)
 9 print(b)
10 print(loss)
11 
12 >>>
13 
14 tensor([[[1., 2.]],
15         [[1., 2.]]])
16 
17 tensor([[[2., 4.]],
18         [[2., 4.]]])
19 
20 tensor([[[1., 4.]],
21         [[1., 4.]]])  # 分别计算对应元素的平方二范数
22 
23 C =  torch.nn.MSELoss(reduction=sum)
24 
25 loss = C(a, b)
26 print(loss)
27 
28 >>> tensor(10.) # 所有元素平方二范数之和
29 
30 C =  torch.nn.MSELoss(reduction=mean)
31 
32 loss = C(a, b)
33 print(loss)
34 >>> tensor(2.5000) # 所有元素平方二范数的均值

 

 

 


以上是关于Pytorch MSELoss的主要内容,如果未能解决你的问题,请参考以下文章

Pytorch_torch.nn.MSELoss

PyTorch学习笔记:nn.MSELoss——MSE损失

神经网络架构pytorch-MSELoss损失函数

Pytorch常用损失函数nn.BCEloss();nn.BCEWithLogitsLoss();nn.CrossEntropyLoss();nn.L1Loss(); nn.MSELoss();(代码

pytorch torch.nn.MSELoss(size_average=True)(均方误差损失函数)

pytorch案例代码