class_docstr: This loss allows to distill a DINO model
class_docstr_tok: ["This","loss","allows","to","distill","a","DINO","model"]
code: def __init__(self, loss_config: AttrDict):
      super().__init__()
      self.loss_config = loss_config
      self.criterion = DINODistillationCriterion(
          student_num_crops=self.loss_config.student_num_crops,
          teacher_num_crops=self.loss_config.teacher_num_crops,
          student_temperature=self.loss_config.student_temperature,
          teacher_temperature=self.loss_config.teacher_temperature,
          swapped_assignment=self.loss_config.swapped_assignment,
      )
  
      # Teacher prototype scores that will be used to compute the
      # assignments for the student model crops prototype scores
      self.teacher_scores: Optional[torch.Tensor] = None
  
file_path: vissl/vissl/losses/dino_distillation_loss.py
imports: import pprint
  from typing import List, Optional, Union
  import torch
  import torch.nn.functional
  from classy_vision.losses import ClassyLoss, register_loss
  from torch import nn
  from vissl.config import AttrDict
label_desc: Use image node_id 1 to create a new DINODistillationLoss object from inherited base classes: ClassyLoss with example: obj = DINODistillationLoss(loss_config)