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
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 | Значения фактического результата, 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