SupervisedMarginMSE
- class lightning_ir.loss.pairwise.SupervisedMarginMSE[source]
Bases:
MarginMSESupervised Margin MSE loss for pairwise ranking tasks with a dynamic margin.
- __init__()[source]
Initialize the SupervisedMarginMSE loss function.
Methods
__init__()Initialize the SupervisedMarginMSE loss function.
- compute_loss(output: LightningIROutput, batch: TrainBatch) torch.Tensor
Compute the MarginMSE loss.
- Parameters:
output (LightningIROutput) – The output from the model containing scores.
batch (TrainBatch) – The training batch containing targets.
- Returns:
The computed loss.
- Return type:
torch.Tensor
- Raises:
ValueError – If the margin type is invalid.
- get_pairwise_idcs(targets: Tensor) Tuple[Tensor, ...]
Get pairwise indices for positive and negative samples based on targets.
- Parameters:
targets (torch.Tensor) – The targets tensor containing relevance labels.
- Returns:
Indices of positive and negative samples.
- Return type:
Tuple[torch.Tensor, …]
- process_scores(output: LightningIROutput) torch.Tensor
Process the scores from the output.
- Parameters:
output (LightningIROutput) – The output from the model.
- Returns:
The scores tensor.
- Return type:
torch.Tensor
- process_targets(scores: torch.Tensor, batch: TrainBatch) torch.Tensor
Process the targets from the batch.
- Parameters:
scores (torch.Tensor) – The scores tensor.
batch (TrainBatch) – The training batch.
- Returns:
The processed targets tensor.
- Return type:
torch.Tensor