class_docstr: Exponential moving average.
  
  This class is a checkpointable implementation of a subset of the functionality
  provided by tf.train.ExponentialMovingAverage. The tf version is not
  checkpointable due to use of tf.Variable.ref() to associate tf.Variables
  objects to their corresponding averages
  (cf. https://github.com/tensorflow/tensorflow/issues/38452). This version uses
  the order of the tf.Variable objects in a sequence to associate the variables
  with their averages.
  
  Note: This class offers less functionality than the tensorflow version and it
  is only implemented for replica context.
  
  Attributes:
    averaged_variables: A sequence of tf.Variables that stores the averages for
      the variables. They are associated to the new values that are provided to
      ExponentialMovingAverage.apply() by the order in the sequence. If None a
      call to ExponentialMovingAverage.apply() initializes the variable before
      applying the update.
docstr: Updates the exponential moving average for a single variable.
docstr_tok: ["Updates","the","exponential","moving","average","for","a","single","variable","."]
code: def _ema_assign_fn(self, variable: tf.Variable, value: tf.Tensor):
      """Updates the exponential moving average for a single variable."""
      return variable.assign(
          self._decay * variable + (1.0 - self._decay) * value
      )
  
imports: from typing import Sequence
  import tensorflow
label_desc: Use image node_id 2 for calling the ExponentialMovingAverage obj's underlying member method code with example usage: obj._ema_assign_fn(variable, value) and returns: variable