当前位置:   article > 正文

Pytorch自定义Loss_pytorch 自定义 loss

pytorch 自定义 loss

Pytorch如何自定义Loss

设置空loss:

loss=torch.tensor(0).float().to(outs[0].device)

这个可以试试:

regression_losses.append(torch.tensor(0).float().cuda())

 reg_loss=torch.stack(regression_losses).mean(dim=0, keepdim=True)

  1. 自定义MSEloss实现:
  2. class My_loss(nn.Module):
  3. def __init__(self):
  4. super().__init__()
  5. def forward(self, x, y):
  6. return torch.mean(torch.pow((x - y), 2))


使用:

  1. criterion = My_loss()
  2. loss = criterion(outputs, targets)


 

将Loss视作单独的层,在forward函数里写明loss的计算方式,无需定义backward

  1. class MyLoss(nn.Module):
  2. def __init__(self):
  3. super(MyLoss, self).__init__()
  4. def forward(self, pred, truth):
  5. return torch.mean(torc
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/321690
推荐阅读
相关标签
  

闽ICP备14008679号