tf.compat.v1.metrics.mean
Вычисляет (взвешенное) среднее значение заданных значений.
tf.compat.v1.metrics.mean(
values,
weights=None,
metrics_collections=None,
updates_collections=None,
name=None
)
Переход к TF2
tf.compat.v1.metrics.mean несовместим с немедленным выполнением или tf.function. Пожалуйста, используйте tf.keras.metrics.Mean вместо этого для миграции на TF2. После создания объекта tf.keras.metrics.Mean, вы можете сначала вызвать метод update_state(), чтобы записать новые значения, а затем вызвать метод result(), чтобы получить среднее значение немедленно. Вы также можете подключить его к модели Keras с помощью метода add_metric. Обратитесь к руководству по миграции для получения более подробной информации.
Структурное отображение на TF2
До:
mean, update_op = tf.compat.v1.metrics.mean( values=values, weights=weights, metrics_collections=metrics_collections, update_collections=update_collections, name=name)
После:
m = tf.keras.metrics.Mean( name=name) m.update_state( values=values, sample_weight=weights) mean = m.result()
Как сопоставить аргументы
| Имя аргумента TF1 | Имя аргумента TF2 | Примечание |
|---|---|---|
values | values | В методе update_state() |
weights | sample_weight | В методе update_state() |
metrics_collections | Не поддерживается | Метрики должны отслеживаться явно или с помощью API Keras, например, add_metric, а не через коллекции |
updates_collections | Не поддерживается | - |
name | name | В конструкторе |
Пример использования до и после
До:
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
После:
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))
Описание
Функция mean создает две локальные переменные, total и count, которые используются для вычисления среднего значения values. Это среднее значение в конечном итоге возвращается как mean, что является идемпотентной операцией, которая просто делит total на count.
Для оценки метрики по потоку данных функция создает операцию update_op, которая обновляет эти переменные и возвращает mean. update_op увеличивает total на сумму произведения values и weights, и увеличивает count на сумму weights.
Если weights равно None, веса по умолчанию равны 1. Используйте веса 0 для маскирования значений.
| Args | |
|---|---|
values | A Tensor произвольных размеров. |
weights | Необязательные Tensor, чья ранг равен 0 или совпадает с рангом values, и должен быть совместим с values (то есть все размерности должны быть либо 1, либо совпадать с соответствующей размерностью values). |
metrics_collections | Необязательный список коллекций, к которым mean должен быть добавлен. |
updates_collections | Необязательный список коллекций, к которым update_op должен быть добавлен. |
name | Необязательное имя области переменных. |
| Returns | |
|---|---|
mean | A Tensor, представляющий текущее среднее значение, значение total, деленное на count. |
update_op | Операция, которая увеличивает переменные total и count соответствующим образом и значение которой совпадает с mean_value. |
| Raises | |
|---|---|
ValueError | Если weights не None и его форма не соответствует values, или если metrics_collections или updates_collections не являются списком или кортежем. |
RuntimeError | Если включено немедленное выполнение. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/compat/v1/metrics/mean