code: def __init__(self, margin=5.73, scale=64, **kwargs):
      super().__init__(mat_based_loss=False, **kwargs)
      c_f.assert_distance_type(self, CosineSimilarity)
      self.margin = np.radians(margin)
      self.scale = scale
      self.add_to_recordable_attributes(
          list_of_names=["margin", "scale"], is_stat=False
      )
      self.add_to_recordable_attributes(
          list_of_names=["avg_pos_angle", "avg_neg_angle"], is_stat=True
      )
  
file_path: pytorch-metric-learning/src/pytorch_metric_learning/losses/tuplet_margin_loss.py
imports: import numpy
  import torch
  from ..distances import CosineSimilarity
  from ..utils import common_functions
  from ..utils import loss_and_miner_utils
  from .generic_pair_loss import GenericPairLoss
label_desc: Use image node_id 1 to create a new TupletMarginLoss object from inherited base classes: GenericPairLoss with example: obj = TupletMarginLoss(margin, scale)