class_docstr: Maintains exponential moving averages for each variable from provided VarCollection.
class_docstr_tok: ["Maintains","exponential","moving","averages","for","each","variable","from","provided","VarCollection","."]
docstr: Updates the moving average.
docstr_tok: ["Updates","the","moving","average","."]
code: def __call__(self):
      """Updates the moving average."""
      self.step.value += 1
      for ref, m in zip(self.refs, self.m):
          m.value += (1 - self.momentum) * (ref.value - m.value)
  
file_path: objax/objax/optimizer/ema.py
imports: from typing import Callable, Tuple, List
  import jax.numpy
  from objax.module import Module, ModuleList
  from objax.typing import JaxArray
  from objax.util import class_name
  from objax.variable import RandomState, TrainRef, StateVar, TrainVar, VarCollection
label_desc: Use image node_id 2 for calling the ExponentialMovingAverage obj's underlying member method code with example usage: obj.__call__() without return types