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

被折叠的 条评论
为什么被折叠?



