code: def __init__(
      self,
      scale_pos: Optional[
          float
      ] = 2.0,  # Params found to work best in our experiments
      scale_neg: Optional[float] = 40.0,
      offset: Optional[float] = 0.5,
      margin: Optional[float] = 0.1,
  ):
      super().__init__()
      self._scale_pos = scale_pos
      self._scale_neg = scale_neg
      self._offset = offset
      self._margin = margin
      self._epsilon = 1e-5
  
file_path: NeMo/nemo/collections/common/losses/multi_similarity_loss.py
imports: from typing import Optional
  import torch
  from nemo.core.classes import Loss
  from nemo.core.classes.common import typecheck
  from nemo.core.neural_types import LabelsType, LogitsType, LossType, NeuralType
  from nemo.utils import logging
label_desc: Use image node_id 3 to create a new MultiSimilarityLoss object from inherited base classes: Loss with example: obj = MultiSimilarityLoss(scale_pos, scale_neg, offset, margin)