pytorch 的L1Loss 的计算方式和MAE 的计算方式的差异点

本文深入探讨了PyTorch中L1Loss损失函数的使用方法,通过具体示例展示了如何在不同batchsize下计算回归任务的损失,并对比了手动计算与PyTorch内置函数的结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在使用pytoch 的时候 使用L1loss 计算回归的损失。

batchsize 为2 时  

计算L1loss 的结果为:3.9115 

这个结果是怎么得到的:

参考:https://blog.youkuaiyun.com/f156207495/article/details/88658009

import torch
import numpy as np
a=np.array([[1,2],[3,4]])
b=np.array([[2,3],[4,4]])
#print(a)
#print(b)

input = torch.autograd.Variable(torch.from_numpy(a))
target = torch.autograd.Variable(torch.from_numpy(b))
print(input)
print(target)
#loss_fn = torch.nn.L1Loss()
loss_fn = torch.nn.L1Loss(reduce=False, size_average=False)
loss = loss_fn(input.float(), target.float())
print(loss)

loss 的结果为:0.75 

而我自己计算的mae 是abs(target-output)  求所有结果的平均

当batchsize 变大之后,loss 会变大

其实这个结果不该叫做MAE,应该是L1loss 的结果。

 

 

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值