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 на соответствующий встроенный API TensorFlow v2. Инструкции по переносу остального кода см. в руководстве по переходу с TensorFlow v1 на TensorFlow v2.

tf.compat.v1.metrics.mean несовместим с eager execution и 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 Tensor произвольной размерности.
weights Необязательный Tensor, ранг которого равен 0 или совпадает с рангом values и который должен допускать широковещательное распространение до values (то есть все размерности должны быть либо 1, либо совпадать с соответствующей размерностью values).
metrics_collections Необязательный список коллекций, в которые следует добавить mean.
updates_collections Необязательный список коллекций, в которые следует добавить update_op.
name Необязательное имя variable_scope.
Возвращает
mean Tensor, представляющий текущее среднее значение: значение total, деленное на count.
update_op Операция, которая соответствующим образом увеличивает переменные total и count и значение которой совпадает с mean_value.
Вызывает исключения
ValueError Если weights не является None и его форма не совпадает с values, либо если metrics_collections или updates_collections не является списком или кортежем.
RuntimeError Если включено eager execution.

© 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