code: def __init__(
      self,
      task,
      target_dist_norm,
      temperature,
      forward_batch_size,
  ):
      super().__init__(task)
      self.target_dist_norm = target_dist_norm
      self.temperature = temperature
      self.forward_batch_size = forward_batch_size
  
file_path: fairseq/examples/discriminative_reranking_nmt/criterions/discriminative_reranking_criterion.py
imports: import math
  from dataclasses import dataclass, field
  import torch
  import torch.nn.functional
  from fairseq import utils
  from fairseq.logging import metrics
  from fairseq.criterions import FairseqCriterion, register_criterion
  from fairseq.dataclass import ChoiceEnum, FairseqDataclass
label_desc: Use image node_id 1 to create a new KLDivergenceRerankingCriterion object from inherited base classes: FairseqCriterion with example: obj = KLDivergenceRerankingCriterion(task, target_dist_norm, temperature, forward_batch_size)