class_docstr: Create shadow variables and maintain exponential moving average for model parameters.
  
  Registered as a `MovingAverage` with name "exponential".
  
  # Parameters
  
  parameters : `Iterable[Tuple[str, Parameter]]`, required
      The parameters whose averages we'll be tracking. In a typical AllenNLP configuration
      file, this argument does not get an entry under the "moving_average", it gets passed
      in separately.
  decay : `float`, optional (default = `0.9999`)
      The decay rate that will be used if `num_updates` is not passed
      (and that will be used as an upper bound if `num_updates` is passed).
  numerator : `float`, optional (default = `1.0`)
      The numerator used to compute the decay rate if `num_updates` is passed.
  denominator : `float`, optional (default = `10.0`)
      The denominator used to compute the decay rate if `num_updates` is passed.
class_docstr_tok: ["Create","shadow","variables","and","maintain","exponential","moving","average","for","model","parameters",".","Registered","as","a","`","MovingAverage","`","with","name","``","exponential","''",".","#","Parameters","parameters",":","`","Iterable","[","Tuple","[","str",",","Parameter","]","]","`",",","required","The","parameters","whose","averages","we","'ll","be","tracking",".","In","a","typical","AllenNLP","configuration","file",",","this","argument","does","not","get","an","entry","under","the","``","moving_average","''",",","it","gets","passed","in","separately",".","decay",":","`","float","`",",","optional","(","default","=","`","0.9999","`",")","The","decay","rate","that","will","be","used","if","`","num_updates","`","is","not","passed","(","and","that","will","be","used","as","an","upper","bound","if","`","num_updates","`","is","passed",")",".","numerator",":","`","float","`",",","optional","(","default","=","`","1.0","`",")","The","numerator","used","to","compute","the","decay","rate","if","`","num_updates","`","is","passed",".","denominator",":","`","float","`",",","optional","(","default","=","`","10.0","`",")","The","denominator","used","to","compute","the","decay","rate","if","`","num_updates","`","is","passed","."]
code: def __init__(
      self,
      parameters: Iterable[NamedParameter],
      decay: float = 0.9999,
      numerator: float = 1.0,
      denominator: float = 10.0,
  ) -> None:
      super().__init__(parameters)
      self._decay = decay
      self._numerator = numerator
      self._denominator = denominator
  
file_path: allennlp/allennlp/training/moving_average.py
imports: from typing import Iterable, Tuple, Optional, Any, Dict
  import torch
  from allennlp.common.registrable import Registrable
label_desc: Use image node_id 1 to create a new ExponentialMovingAverage object from inherited base classes: MovingAverage with example: obj = ExponentialMovingAverage(parameters, decay, numerator, denominator)