2024-08-21 17:11:56 +08:00

13 lines
445 B
Python

import torch
import PytorchBoot.stereotype as stereotype
@stereotype.loss_function("gf_loss")
def compute_loss(output, data):
estimated_score = output['estimated_score']
target_score = output['target_score']
std = output['std']
bs = estimated_score.shape[0]
loss_weighting = std ** 2
loss = torch.mean(torch.sum((loss_weighting * (estimated_score - target_score) ** 2).view(bs, -1), dim=-1))
return loss