Spec-Zone.ru › TensorFlow

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 несовместим с выполнением Eager или tf.function. Для миграции на TF2 используйте tf.keras.metrics.Mean вместо этого. После создания объекта tf.keras.metrics.Mean вы можете сначала вызвать метод update_state() для записи новых значений, а затем вызвать метод result() для получения среднего значения в режиме Eager. Вы также можете подключить его к модели 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 для маскирования значений.

Аргументы
values Массив произвольных размерностей.
weights Необязательный массив, ранг которого равен 0 или совпадает с рангом values, и должен быть совместим с вектором values (т.е., все размерности должны быть либо скалярными, либо соответствовать соответствующей размерности values).
metrics_collections Необязательный список коллекций, в которые следует добавить mean.
updates_collections Необязательный список коллекций, в которые следует добавить update_op.
name Необязательное имя области переменных.
Возвращаемое значение
mean Массив, представляющий текущее среднее значение, значение total, деленное на count.
update_op Операция, которая должным образом увеличивает переменные total и count и значение которой соответствует mean_value.
Исключения
ValueError Если weights не является None и его форма не совпадает с values, или если metrics_collections или updates_collections не являются списком или кортежем.
RuntimeError Если включено eager-выполнение.

© 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/api_docs/python/tf/compat/v1/metrics/mean

Spec-Zone.ru

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