pytorch损失函数nn.L1Loss()

1.首先给出函数的参数:

nn.L1Loss(size_average=True, reduce=False)

2.然后举个简单的例子,帮助理解

1》设置网络的输出与真实的输出:

# 其中output为网络的输出
# target为目标输出即对应输入真实的标签

output = torch.ones(2, 3, requires_grad=True)*2.5
target = torch.ones(1, 3)

2》设置损失函数的参数/实例化:

损失函数nn.L1Loss()   作用其实就是计算网络输出与标签之差的绝对值,返回的数据类型可以是张量,也可以是标量。

LOSSresult = nn.L1Loss(size_average=True, reduce=True) #设置损失函数的参数/实例化

3》将上述的网络输出与指示灯的输出(标签)带入,的到输出结果:

result = LOSSresult(output, target)


print('求平均:{}'.format(result))

4》手写计算结果验证:

output=    [[1 1 1]           [[2.5 5.5 2.5]
           [1 1 1]] *2.5 =    [2.5 2.5 2.5]]

target=[1 1 1]


然后计算 loss:


result=[[1.5 1.5 1.5]
        [1.5 1.5 1.5]]


所以计算的平均值为1.5,和为1.5*6=9

5》结束运算。

pytorch损失函数nn.L1Loss()_第1张图片

欢迎小伙伴们一起沟通探讨。 

你可能感兴趣的:(pytorch冒险之旅,概念基础篇,pytorch,深度学习)