quaterion.loss.circle_loss module¶
- class CircleLoss(margin: float | None = 0.25, scale_factor: float | None = 256, distance_metric_name: Distance | None = Distance.COSINE)[source]¶
Bases:
GroupLoss
Implements Circle Loss as defined in https://arxiv.org/abs/2002.10857.
- Parameters:
margin – Margin value to push negative examples.
scale_factor – scale factor γ determines the largest scale of each similarity score.
Note
Refer to sections 4.1 and 4.5 in the paper for default values and evaluation of margin and scaling_factor hyperparameters.
- forward(embeddings: Tensor, groups: LongTensor) Tensor [source]¶
Compute loss value.
- Parameters:
embeddings – shape: (batch_size, vector_length) - Batch of embeddings.
groups – shape: (batch_size,) - Batch of labels associated with embeddings
- Returns:
Tensor – Scalar loss value.
- training: bool¶