View source on GitHub
|
Computes the (weighted) mean of the given values.
tf.compat.v1.metrics.mean(
values,
weights=None,
metrics_collections=None,
updates_collections=None,
name=None
)
Migrate to TF2
tf.compat.v1.metrics.mean is not compatible with eager
execution or tf.function.
Please use tf.keras.metrics.Mean instead for TF2 migration. After
instantiating a tf.keras.metrics.Mean object, you can first call the
update_state() method to record the new values, and then call the
result() method to get the mean eagerly. You can also attach it to a
Keras model with the add_metric method. Please refer to the migration
guide
for more details.
Structural Mapping to TF2
Before:
mean, update_op = tf.compat.v1.metrics.mean(
values=values,
weights=weights,
metrics_collections=metrics_collections,
update_collections=update_collections,
name=name)
After:
m = tf.keras.metrics.Mean(
name=name)
m.update_state(
values=values,
sample_weight=weights)
mean = m.result()
How to Map Arguments
| TF1 Arg Name | TF2 Arg Name | Note |
|---|---|---|
values |
values |
In update_state() method |
weights |
sample_weight |
In update_state() method |
metrics_collections
|
Not supported | Metrics should be tracked explicitly or with Keras APIs, for example, add_metric, instead of via collections |
updates_collections |
Not supported | - |
name |
name |
In constructor |
Before & After Usage Example
Before:
g = tf.Graph()with g.as_default():values = [1, 2, 3]mean, update_op = tf.compat.v1.metrics.mean(values)global_init = tf.compat.v1.global_variables_initializer()local_init = tf.compat.v1.local_variables_initializer()sess = tf.compat.v1.Session(graph=g)sess.run([global_init, local_init])sess.run(update_op)sess.run(mean)2.0
After:
m = tf.keras.metrics.Mean()m.update_state([1, 2, 3])m.result().numpy()2.0
# Used within Keras model
model.add_metric(tf.keras.metrics.Mean()(values))
Description
The mean function creates two local variables, total and count
that are used to compute the average of values. This average is ultimately
returned as mean which is an idempotent operation that simply divides
total by count.
For estimation of the metric over a stream of data, the function creates an
update_op operation that updates these variables and returns the mean.
update_op increments total with the reduced sum of the product of values
and weights, and it increments count with the reduced sum of weights.
If weights is None, weights default to 1. Use weights of 0 to mask values.
View source on GitHub