W3cubDocs

/TensorFlow 2.3

tf.keras.backend.moving_average_update

View source on GitHub

Compute the exponential moving average of a value.

The moving average 'x' is updated with 'value' following:

x = x * momentum + value * (1 - momentum)

For example:

x = tf.Variable(0.0)
momentum=0.9
moving_average_update(x, value = 2.0, momentum=momentum).numpy()
x.numpy()
0.2

The result will be biased towards the initial value of the variable.

If the variable was initialized to zero, you can divide by 1 - momentum ** num_updates to debias it (Section 3 of Kingma et al., 2015):

num_updates = 1.0
x_zdb = x/(1 - momentum**num_updates)
x_zdb.numpy()
2.0
Arguments
x A Variable, the moving average.
value A tensor with the same shape as x, the new value to be averaged in.
momentum The moving average momentum.
Returns
The updated variable.

© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.3/api_docs/python/tf/keras/backend/moving_average_update