docstr: This hook corresponds to the DINO: the framework proposed in the xxx paper.
  
  Called before each forward to get teacher outputs and after every iteration to update
  the momentum teacher, optionally  updating the teacher temperature.
  
  At the beginning of training i.e. after 1st forward call, the encoder is constructed.
docstr_tok: ["This","hook","corresponds","to","the","DINO",":","the","framework","proposed","in","the","xxx","paper",".","Called","before","each","forward","to","get","teacher","outputs","and","after","every","iteration","to","update","the","momentum","teacher",",","optionally","updating","the","teacher","temperature",".","At","the","beginning","of","training","i.e",".","after","1st","forward","call",",","the","encoder","is","constructed","."]
code: def __init__(self):
      """
      This hook corresponds to the DINO: the framework proposed in the xxx paper.
  
      Called before each forward to get teacher outputs and after every iteration to update
      the momentum teacher, optionally  updating the teacher temperature.
  
      At the beginning of training i.e. after 1st forward call, the encoder is constructed.
      """
      super().__init__()
      self.teacher_temp_schedule = None
      self.momentum_schedule = None
  
file_path: vissl/vissl/hooks/dino_hooks.py
imports: import torch
  from classy_vision import tasks
  from classy_vision.hooks.classy_hook import ClassyHook
  from vissl.hooks.hook_utils import MomentumTeacherInLossHook
label_desc: Use image node_id 1 to create a new DINOHook object from inherited base classes: ClassyHook with example: obj = DINOHook()