在使用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 的结果。