class_docstr: Hook executed to save the exponential moving average of the base_model parameters
  and run the meters on this ema_model.
class_docstr_tok: ["Hook","executed","to","save","the","exponential","moving","average","of","the","base_model","parameters","and","run","the","meters","on","this","ema_model","."]
code: def __init__(
      self, enable_ema_meters: bool, update_iter: int, warmup: float
  ):
      super().__init__()
      self.enable_ema_meters = enable_ema_meters
      self.update_iter = update_iter
      self.warmup = warmup
  
file_path: vissl/vissl/hooks/ema_hooks.py
imports: import torch
  from classy_vision import tasks
  from classy_vision.generic.distributed_util import is_primary
  from classy_vision.hooks.classy_hook import ClassyHook
  from vissl.hooks.log_hooks import LogLossMetricsCheckpointHook
label_desc: Use image node_id 1 to create a new EmaHook object from inherited base classes: ClassyHook with example: obj = EmaHook(enable_ema_meters, update_iter, warmup)