Python pytorch中损失函数的定义

Python pytorch中损失函数的定义,python,pytorch,loss-function,Python,Pytorch,Loss Function,我必须定义一个huber损失函数,它是这样的: 这是我的密码 def huber(a, b): res = (((a-b)[abs(a-b) < 1]) ** 2 / 2).sum() res += ((abs(a-b)[abs(a-b) >= 1]) - 0.5).sum() res = res / torch.numel(a) return res def huber(a、b): res=((a-b)[abs(a-b)=1])-0.5.和() res=

我必须定义一个huber损失函数,它是这样的:

这是我的密码

def huber(a, b): 
   res = (((a-b)[abs(a-b) < 1]) ** 2 / 2).sum()
   res += ((abs(a-b)[abs(a-b) >= 1]) - 0.5).sum()
   res = res / torch.numel(a)
   return res
def huber(a、b):
res=((a-b)[abs(a-b)<1])**2/2.sum()
res+=((abs(a-b)[abs(a-b)>=1])-0.5.和()
res=res/torch.numel(a)
返回res
'''


然而,它并没有正常工作。你知道怎么回事吗?

PyTorch中已存在Huber loss函数,名称为
torch.nn.SmoothL1Loss


请点击此链接了解更多信息

您所说的
它工作不正常是什么意思?是数学上的正确性还是pytorch中的某些问题?