code: def __init__(
      self, num_classes, embedding_size, margin=0.1, alpha=32, **kwargs
  ):
      super().__init__(**kwargs)
      self.proxies = torch.nn.Parameter(
          torch.Tensor(num_classes, embedding_size)
      )
      self.weight_init_func(self.proxies)
      self.num_classes = num_classes
      self.margin = margin
      self.alpha = alpha
      self.add_to_recordable_attributes(
          list_of_names=["num_classes", "alpha", "margin"],
          is_stat=False,
      )
  
file_path: pytorch-metric-learning/src/pytorch_metric_learning/losses/proxy_anchor_loss.py
imports: import torch
  from ..distances import CosineSimilarity
  from ..reducers import DivisorReducer
  from ..utils import common_functions
  from ..utils import loss_and_miner_utils
  from .base_metric_loss_function import BaseMetricLossFunction
  from .mixins import WeightRegularizerMixin
label_desc: Use image node_id 1 to create a new ProxyAnchorLoss object from inherited base classes: WeightRegularizerMixin, BaseMetricLossFunction with example: obj = ProxyAnchorLoss(num_classes, embedding_size, margin, alpha)