For derivation justification, see [Finch (2009; Eq. 143)][1].
Unlike assign_moving_mean_variance, this function handles
variable creation.
Args
value
float-like Tensor. Same shape as mean_var and variance_var.
decay
A float-like Tensor. The moving mean decay. Typically close to
1., e.g., 0.999.
collections
Python list of graph-collections keys to which the internal
variables mean_var and variance_var are added.
Default value is [GraphKeys.GLOBAL_VARIABLES].
name
Optional name of the returned operation.
Returns
mean_var
Variable representing the value-updated exponentially weighted
moving mean.
variance_var
Variable representing the value-updated
exponentially weighted moving variance.
[null,null,["Last updated 2020-10-01 UTC."],[],[],null,["# tf.contrib.distributions.moving_mean_variance\n\n\u003cbr /\u003e\n\n|------------------------------------------------------------------------------------------------------------------------------------------------------|\n| [View source on GitHub](https://github.com/tensorflow/tensorflow/blob/v1.15.0/tensorflow/contrib/distributions/python/ops/moving_stats.py#L176-L246) |\n\nCompute exponentially weighted moving {mean,variance} of a streaming value. \n\n tf.contrib.distributions.moving_mean_variance(\n value, decay, collections=None, name=None\n )\n\nThe exponentially-weighting moving `mean_var` and `variance_var` are updated\nby `value` according to the following recurrence: \n\n variance_var = decay * (variance_var + (1-decay) * (value - mean_var)**2)\n mean_var = decay * mean_var + (1 - decay) * value\n\n| **Note:** `mean_var` is updated *after* `variance_var`, i.e., `variance_var` uses the lag-`1` mean.\n\nFor derivation justification, see \\[Finch (2009; Eq. 143)\\]\\[1\\].\n\nUnlike `assign_moving_mean_variance`, this function handles\nvariable creation.\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Args ---- ||\n|---------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------|\n| `value` | `float`-like `Tensor`. Same shape as `mean_var` and `variance_var`. |\n| `decay` | A `float`-like `Tensor`. The moving mean decay. Typically close to `1.`, e.g., `0.999`. |\n| `collections` | Python list of graph-collections keys to which the internal variables `mean_var` and `variance_var` are added. Default value is `[GraphKeys.GLOBAL_VARIABLES]`. |\n| `name` | Optional name of the returned operation. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Returns ------- ||\n|----------------|-------------------------------------------------------------------------------------|\n| `mean_var` | `Variable` representing the `value`-updated exponentially weighted moving mean. |\n| `variance_var` | `Variable` representing the `value`-updated exponentially weighted moving variance. |\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\n| Raises ------ ||\n|-------------|--------------------------------------------------|\n| `TypeError` | if `value_var` does not have float type `dtype`. |\n| `TypeError` | if `value`, `decay` have different `base_dtype`. |\n\n\u003cbr /\u003e\n\n#### References\n\n\\[1\\]: Tony Finch. Incremental calculation of weighted mean and variance.\n*Technical Report* , 2009.\n\u003chttp://people.ds.cam.ac.uk/fanf2/hermes/doc/antiforgery/stats.pdf\u003e"]]