Spec-Zone.ru › TensorFlow

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 для получения инструкций по миграции остальной части вашего кода.

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()])

Описание

Используется в блокнотах

Используется в руководстве Используется в учебных пособиях
  • Миграция метрик и оптимизаторов
  • Изучение встраиваний TF-Hub CORD-19 Swivel
  • Графовая нейронная структура обучения в TFX

Функция 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 Значения фактического результата, 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/api_docs/python/tf/compat/v1/metrics/accuracy

Spec-Zone.ru

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