class_docstr: https://ai.googleblog.com/2019/08/bi-tempered-logistic-loss-for-training.html
  https://arxiv.org/abs/1906.03361
code: def forward(self, predictions: Tensor, targets: Tensor) -> Tensor:
      loss = bi_tempered_logistic_loss(
          predictions,
          targets,
          t1=self.t1,
          t2=self.t2,
          label_smoothing=self.smoothing,
          reduction="none",
      )
  
      if self.ignore_index is not None:
          mask = ~targets.eq(self.ignore_index)
          loss *= mask
  
      if self.reduction == "mean":
          loss = loss.mean()
      elif self.reduction == "sum":
          loss = loss.sum()
      return loss
  
imports: from typing import Optional
  import torch
  from torch import nn, Tensor
label_desc: Use image node_id 2 for calling the BiTemperedLogisticLoss obj's underlying member method code with example usage: obj.forward(predictions, targets) and returns: loss