code: def compute_loss(
      self, embeddings, labels, indices_tuple, ref_emb, ref_labels
  ):
      c_f.labels_required(labels)
      c_f.ref_not_supported(embeddings, labels, ref_emb, ref_labels)
      dtype, device = embeddings.dtype, embeddings.device
      self.cast_types(dtype, device)
      loss_dict = self.nca_computation(
          embeddings,
          self.proxies,
          labels,
          c_f.to_device(self.proxy_labels, labels),
          indices_tuple,
      )
      self.add_weight_regularization_to_loss_dict(
          loss_dict, self.proxies
      )
      return loss_dict
  
file_path: pytorch-metric-learning/src/pytorch_metric_learning/losses/proxy_losses.py
imports: import torch
  from ..utils import common_functions
  from .mixins import WeightRegularizerMixin
  from .nca_loss import NCALoss
label_desc: Use image node_id 3 for calling the ProxyNCALoss obj's underlying member method code with example usage: obj.compute_loss(embeddings, labels, indices_tuple, ref_emb, ref_labels) and returns: loss_dict