code: def __call__(self, event_index: int) -> float:
      denominator = max(1, self.warmup_iters - 1)
      curr_momentum = (
          self.momentum_warmup
          + (self.momentum - self.momentum_warmup)
          * (event_index - 1)
          / denominator
      )
      if self.momentum >= self.momentum_warmup:
          return min(self.momentum, curr_momentum)
      else:
          return max(self.momentum, curr_momentum)
  
file_path: ignite/ignite/handlers/ema_handler.py
imports: import warnings
  from copy import deepcopy
  from typing import Optional, Union
  import torch.nn
  from ignite.engine import CallableEventWithFilter, Engine, Events, EventsList
  from ignite.handlers.param_scheduler import BaseParamScheduler
  from ignite.handlers.state_param_scheduler import LambdaStateScheduler
label_desc: Use image node_id 2 for calling the EMAWarmUp obj's underlying member method code with example usage: obj.__call__(event_index) and returns: min, max