import torch.nn as nn | |
from .abstract_loss_func import AbstractLossClass | |
from metrics.registry import LOSSFUNC | |
class BCELoss(AbstractLossClass): | |
def __init__(self): | |
super().__init__() | |
self.loss_fn = nn.BCELoss() | |
def forward(self, inputs, targets): | |
""" | |
Computes the bce loss. | |
Args: | |
inputs: A PyTorch tensor of size (batch_size, num_classes) containing the predicted scores. | |
targets: A PyTorch tensor of size (batch_size) containing the ground-truth class indices. | |
Returns: | |
A scalar tensor representing the bce loss. | |
""" | |
# Compute the bce loss | |
loss = self.loss_fn(inputs, targets.float()) | |
return loss |