赞
踩
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》结束运算。
欢迎小伙伴们一起沟通探讨。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。