kaira.losses.audio.AudioContrastiveLoss

Inheritance diagram of AudioContrastiveLoss

Inheritance diagram for AudioContrastiveLoss

class kaira.losses.audio.AudioContrastiveLoss(margin=1.0, temperature=0.1, normalize=True, reduction='mean')[source]

Bases: BaseLoss

Audio Contrastive Loss Module.

This module calculates a contrastive loss to bring similar audio samples closer in feature space. It can be used for self-supervised learning of audio representations.

Methods

__init__

Initialize the AudioContrastiveLoss module.

forward

Forward pass through the AudioContrastiveLoss module.

__init__(margin=1.0, temperature=0.1, normalize=True, reduction='mean')[source]

Initialize the AudioContrastiveLoss module.

Parameters:
  • margin (float) – Margin for contrastive loss. Default is 1.0.

  • temperature (float) – Temperature scaling factor. Default is 0.1.

  • normalize (bool) – Whether to normalize features. Default is True.

  • reduction (str) – Reduction method (‘mean’, ‘sum’, ‘none’). Default is ‘mean’.

forward(features: Tensor, target: Tensor = None, projector=None, view_maker=None, labels=None) Tensor[source]

Forward pass through the AudioContrastiveLoss module.

Parameters:
  • features (torch.Tensor) – Audio feature embeddings.

  • target (torch.Tensor, optional) – Target features for comparison. If None, features are compared with themselves (self-supervised). Default is None.

  • projector (nn.Module, optional) – Optional projection network to map features to a lower-dimensional space. Default is None.

  • view_maker (callable, optional) – Function to create different views of the same data. Default is None.

  • labels (torch.Tensor, optional) – Labels for supervised contrastive learning. Default is None.

Returns:

The contrastive loss.

Return type:

torch.Tensor