class_docstr: Teacher-Student knowledge distillation helper.
  Use this object when training a model with KD and a teacher model.
  
  Args:
      teacher_model (TrainableModel): teacher model
      temperature (float, optional): KD temperature. Defaults to 1.0.
      dist_w (float, optional): distillation loss weight. Defaults to 0.1.
      loss_w (float, optional): student loss weight. Defaults to 1.0.
      loss_function (str, optional): loss function to use (kl for KLDivLoss,
          mse for MSELoss)
code: def __init__(
      self,
      teacher_model: TrainableModel,
      temperature: float = 1.0,
      dist_w: float = 0.1,
      loss_w: float = 1.0,
      loss_function="kl",
  ):
      self.teacher = teacher_model
      self.t = temperature
      self.dist_w = dist_w
      self.loss_w = loss_w
      self.loss_fn = losses.get(loss_function, KL_loss)
  
file_path: nlp-architect/nlp_architect/nn/torch/distillation.py
imports: import argparse
  import logging
  import torch
  import torch.nn
  import torch.nn.functional
  from nlp_architect.models import TrainableModel
label_desc: Use image node_id 1 to create a new TeacherStudentDistill object  with example: obj = TeacherStudentDistill(teacher_model, temperature, dist_w, loss_w, loss_function)