code: def __init__(
      self, num_classes, embedding_size, temperature=0.05, **kwargs
  ):
      super().__init__(**kwargs)
      self.temperature = temperature
      self.W = torch.nn.Parameter(
          torch.Tensor(embedding_size, num_classes)
      )
      self.weight_init_func(self.W)
      self.cross_entropy = torch.nn.CrossEntropyLoss(reduction="none")
      self.add_to_recordable_attributes(
          list_of_names=[
              "embedding_size",
              "num_classes",
              "temperature",
          ],
          is_stat=False,
      )
  
file_path: pytorch-metric-learning/src/pytorch_metric_learning/losses/normalized_softmax_loss.py
imports: import torch
  from ..distances import DotProductSimilarity
  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 NormalizedSoftmaxLoss object from inherited base classes: WeightRegularizerMixin, BaseMetricLossFunction with example: obj = NormalizedSoftmaxLoss(num_classes, embedding_size, temperature)