class_docstr: Loss function for knowledge distilling using KL divergence.
  
  Args:
      reduction (str): Options are `'none'`, `'mean'` and `'sum'`.
      loss_weight (float): Loss weight of current loss.
      T (int): Temperature for distillation.
class_docstr_tok: ["Loss","function","for","knowledge","distilling","using","KL","divergence",".","Args",":","reduction","(","str",")",":","Options","are","`","'none","'","`",",","`","'mean","'","`","and","`","'sum","'","`",".","loss_weight","(","float",")",":","Loss","weight","of","current","loss",".","T","(","int",")",":","Temperature","for","distillation","."]
code: def __init__(self, reduction="mean", loss_weight=1.0, T=10):
      super(KnowledgeDistillationKLDivLoss, self).__init__()
      assert reduction in ("none", "mean", "sum")
      assert T >= 1
      self.reduction = reduction
      self.loss_weight = loss_weight
      self.T = T
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import math
  import paddle
  import paddle.nn
  import paddle.nn.functional
  from paddle import ParamAttr
  from ppdet.core.workspace import register
  from ppdet.modeling import ops
  from ppdet.modeling.losses.iou_loss import GIoULoss
  from ppdet.utils.logger import setup_logger
label_desc: Use image node_id 1 to create a new KnowledgeDistillationKLDivLoss object from inherited base classes: nn with example: obj = KnowledgeDistillationKLDivLoss(reduction, loss_weight, T)