Spec-Zone.ru › TensorFlow 2.9

tf.compat.v1.metrics.accuracy

Вычисляет частоту совпадения predictions и labels.

tf.compat.v1.metrics.accuracy(
    labels,
    predictions,
    weights=None,
    metrics_collections=None,
    updates_collections=None,
    name=None
)

Переход к TF2

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

tf.compat.v1.metrics.accuracy не совместим с немедленным выполнением или tf.function. Для миграции в TF2 используйте tf.keras.metrics.Accuracy вместо этого. После создания объекта tf.keras.metrics.Accuracy, вы можете сначала вызвать метод update_state() для записи предсказаний/меток, а затем вызвать метод result() для получения точности немедленно. Вы также можете подключить его к модели Keras, вызывая метод compile. Для получения дополнительных сведений см. это руководство.

Структурное соответствие родной TF2

До:

accuracy, update_op = tf.compat.v1.metrics.accuracy(
  labels=labels,
  predictions=predictions,
  weights=weights,
  metrics_collections=metrics_collections,
  update_collections=update_collections,
  name=name)

После:

m = tf.keras.metrics.Accuracy(
  name=name,
  dtype=None)

m.update_state(
y_true=labels,
y_pred=predictions,
sample_weight=weights)

accuracy = m.result()

Как сопоставить аргументы

Имя аргумента TF1 Имя аргумента TF2 Примечание
label y_true В методе update_state()
predictions y_true В методе update_state()
weights sample_weight В методе update_state()
metrics_collections Не поддерживается Метрики следует отслеживать явно или с помощью API Keras, например, add_metric, а не через коллекции
updates_collections Не поддерживается -
name name В конструкторе

Пример использования до и после

До:

g = tf.Graph()
with g.as_default():
  logits = [1, 2, 3]
  labels = [0, 2, 3]
  acc, acc_op = tf.compat.v1.metrics.accuracy(logits, labels)
  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])
print(sess.run([acc, acc_op]))
[0.0, 0.66667]

После:

m = tf.keras.metrics.Accuracy()
m.update_state([1, 2, 3], [0, 2, 3])
m.result().numpy()
0.66667
# Used within Keras model
model.compile(optimizer='sgd',
              loss='mse',
              metrics=[tf.keras.metrics.Accuracy()])

Описание

Функция accuracy создает две локальные переменные, total и count, которые используются для вычисления частоты совпадения predictions и labels. Эта частота в конечном итоге возвращается как accuracy: идемпотентная операция, которая просто делит total на count.

Для оценки метрики по потоку данных функция создает операцию update_op, которая обновляет эти переменные и возвращает accuracy. Внутренне операция is_correct вычисляет Tensor с элементами 1.0, где соответствующие элементы predictions и labels совпадают, и 0.0 в противном случае. Затем update_op увеличивает total на сумму произведения weights и is_correct, а count увеличивает на сумму weights.

Если weights равно None, веса по умолчанию равны 1. Используйте веса 0 для маскирования значений.

Аргументы
labels Значения ground truth, Tensor с формой, соответствующей predictions .
predictions Предсказанные значения, Tensor любой формы.
weights Необязательные Tensor, ранг которых равен 0 или совпадает с рангом labels, и которые должны быть совместимы с labels (т.е., все измерения должны быть либо 1, либо такими же, как соответствующее измерение labels).
metrics_collections Необязательный список коллекций, в которые accuracy должны быть добавлены.
updates_collections Необязательный список коллекций, в которые update_op должны быть добавлены.
name Необязательное имя области переменной.
Возвращаемое значение
accuracy Tensor , представляющий точность, значение total , делённое на count .
update_op Операция, которая увеличивает переменные total и count соответствующим образом, и значение которой соответствует accuracy.
Исключения
ValueError Если predictions и labels имеют несовместимые формы, или если weights не является None и его форма не соответствует predictions, или если 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/accuracy

Spec-Zone.ru

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