Add weight to a metrics in a pytorch code

Dear,
I’m using the code from: Semantic models PyTorch but I need to create a custom loss with a weight assigned to each class.

I would like to understand how to do this.

Can anyone help me please?

 def SoftCrossEntropy(inputs, target, weight_id=None, reduction='sum'):
     """
     inputs are performed by log_softmax
     """
     log_likelihood = -inputs

     batch = inputs.shape[0]

     if weight_id is None:
         if reduction == 'average':
             loss = torch.sum(torch.mul(log_likelihood, target)) / batch
         else:
             loss = torch.sum(torch.mul(log_likelihood, target))
         return loss
     else:
         log_likelihood = log_likelihood * weight_id
         target = target * weight_id
         if reduction == 'average':
             loss = torch.sum(torch.mul(log_likelihood, target)) / batch
         else:
             loss = torch.sum(torch.mul(log_likelihood, target))
         return loss