code: def __init__(
      self,
      soft_target_alpha: float,
      temperature: float = 1.0,
      loss_type: DistillationType = DistillationType.KL_DIVERGENCE,
  ):
      super().__init__()
      self.hard_target_alpha = 1 - soft_target_alpha
      self.soft_target_alpha = soft_target_alpha
      self.temperature = temperature
      self.loss_type = loss_type
      self.smooth_cross_entropy = SmoothCrossEntropy()
  
imports: from enum import Enum
  import torch
  import torch.nn
  import torch.nn.functional
  from classy_vision.losses import ClassyLoss, register_loss
  from vissl.config.attr_dict import AttrDict
  from vissl.losses.cross_entropy_multiple_output_single_target import SmoothCrossEntropy
label_desc: Use image node_id 1 to create a new DistillationCriterion object from inherited base classes: nn with example: obj = DistillationCriterion(soft_target_alpha, temperature, loss_type)