Spec-Zone.ru › TensorFlow 2.9

tf.compat.v1.metrics.mean

Вычисляет (взвешенное) среднее значение заданных значений.

tf.compat.v1.metrics.mean(
    values,
    weights=None,
    metrics_collections=None,
    updates_collections=None,
    name=None
)

Переход к TF2

Внимание: Этот API был разработан для TensorFlow v1. Продолжайте чтение, чтобы узнать, как мигрировать с этого API на эквивалент в TensorFlow v2. Обратитесь к руководству по миграции TensorFlow v1 в TensorFlow v2 за инструкциями по миграции остальной части вашего кода.

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API