code: def calculate_loss(self, curr_batch):
      data, labels = curr_batch
      embeddings = self.compute_embeddings(data)
      logits = self.maybe_get_logits(embeddings)
      indices_tuple = self.maybe_mine_embeddings(embeddings, labels)
      self.losses["metric_loss"] = self.maybe_get_metric_loss(
          embeddings, labels, indices_tuple
      )
      self.losses["classifier_loss"] = self.maybe_get_classifier_loss(
          logits, labels
      )
  
imports: from ..utils import common_functions
  from .metric_loss_only import MetricLossOnly
label_desc: Use image node_id 1 for calling the TrainWithClassifier obj's underlying member method code with example usage: obj.calculate_loss(curr_batch) without return types