class_docstr: Implementation of Knowledge distillation using a mean teacher from the
  paper "Mean teachers are better role models:Weight-averaged consistency
  targets improvesemi-supervised deep learning results"
  https://arxiv.org/abs/1703.01780
  
  :param teacher_model (torch.nn.Module): Teacher model
  :param student_model (torch.nn.Module): Student model
  :param train_loader (torch.utils.data.DataLoader): Dataloader for training
  :param val_loader (torch.utils.data.DataLoader): Dataloader for validation
  :param optimizer_teacher (torch.optim.*): Optimizer for training teacher
  :param optimizer_student (torch.optim.*): Optimizer for training student
  
  :param loss (str): Consistency criterion for loss
  :param class_loss (torch.nn.Module): Class Criterion for loss
  :param res_loss (torch.nn.Module): Residual Logit Criterion for loss
  
  :param temp (float): Temperature parameter for distillation
  :param distil_weight (float): Weight paramter for distillation loss
  :param device (str): Device for training; 'cpu' for cpu and 'cuda' for gpu
  :param log (bool): True if logging required
  :param logdir (str): Directory for storing logs
docstr: Exponentially updates the weights of teacher model.
  
  :param epoch (int): current epoch
docstr_tok: ["Exponentially","updates","the","weights","of","teacher","model",".",":","param","epoch","(","int",")",":","current","epoch"]
code: def post_epoch_call(self, epoch):
      """
      Exponentially updates the weights of teacher model.
  
      :param epoch (int): current epoch
      """
      alpha = min(1e-3, epoch / (epoch + 1))
      param_zip = zip(
          self.teacher_model.parameters(),
          self.student_model.parameters(),
      )
      for teacher_param, param in param_zip:
          teacher_param.data.mul_(alpha).add_(1 - alpha, param.data)
  
file_path: KD_Lib/KD_Lib/KD/vision/mean_teacher/mean_teacher.py
imports: import torch
  import torch.nn.functional
  from torch import nn
  from KD_Lib.KD.common import BaseClass
label_desc: Use image node_id 3 for calling the MeanTeacher obj's underlying member method code with example usage: obj.post_epoch_call(epoch) without return types