pytorch: 自定义损失函数Loss

pytorch: 自定义损失函数Loss

pytorch中自带了一些常用的损失函数,它们都是torch.nn.Module的子类。因此自定义Loss函数也需要继承该类。

__init__函数中定义所需要的超参数,在forward函数中定义loss的计算方法。forward方法就是实际定义损失函数的地方,其返回值是一个标量(Scalar),而不是张量(Tensor)和向量(Vector)。也就是说如果张量或者向量的话,需要使用相关的函数将其转化为标量,例如使用torch.sum函数进行求和处理。

import torch
import torch.nn as nn
import torch.nn.functional as func

class myLoss(nn.Module):
    def __init__(self,parameters)
        self.params = self.parameters

    def forward(self)
        loss = cal_loss(self.params)
        return loss

Reference

[1] Pytorch如何自定义损失函数(Loss Function)?

你可能感兴趣的:(Pytorch)