class_docstr: Module for calculating RKD Distance Loss
class_docstr_tok: ["Module","for","calculating","RKD","Distance","Loss"]
docstr: Forward function
  
  :param teacher (torch.FloatTensor): Prediction made by the teacher model
  :param student (torch.FloatTensor): Prediction made by the student model
docstr_tok: ["Forward","function",":","param","teacher","(","torch.FloatTensor",")",":","Prediction","made","by","the","teacher","model",":","param","student","(","torch.FloatTensor",")",":","Prediction","made","by","the","student","model"]
code: def forward(self, teacher, student):
      """
      Forward function
  
      :param teacher (torch.FloatTensor): Prediction made by the teacher model
      :param student (torch.FloatTensor): Prediction made by the student model
      """
  
      with torch.no_grad():
          t = pairwaise_distance(teacher)
          t_mean = t[t > 0].mean()
          t = t / (t_mean + 1e-7)
  
      s = pairwaise_distance(student)
      s_mean = s[s > 0].mean()
      s = s / (s_mean + 1e-7)
      return F.smooth_l1_loss(s, t)
  
file_path: KD_Lib/KD_Lib/KD/vision/RKD/loss_metric.py
imports: import torch
  import torch.nn.functional
  from torch import nn
label_desc: Use image node_id 1 for calling the RKDDistanceLoss obj's underlying member method code with example usage: obj.forward(teacher, student) and returns: F