incerto.ood.mixup_criterion

incerto.ood.mixup_criterion#

incerto.ood.mixup_criterion(criterion, pred, y_a, y_b, lam)[source]#

Compute mixup loss.

Linearly interpolates the loss for mixed labels:

Loss = λ * L(pred, y_a) + (1-λ) * L(pred, y_b)

Parameters:
  • criterion (Module) – Loss function

  • pred (Tensor) – Model predictions

  • y_a (Tensor) – First set of labels

  • y_b (Tensor) – Second set of labels

  • lam (float) – Mixing coefficient

Return type:

Tensor

Returns:

Mixup loss value

Example

>>> mixed_x, y_a, y_b, lam = mixup_data(x, y)
>>> outputs = model(mixed_x)
>>> loss = mixup_criterion(nn.CrossEntropyLoss(), outputs, y_a, y_b, lam)