Как вычислить КатегориальныйКросцентропию, используя TensorFlow 2.0? - PullRequest
0 голосов
/ 12 июня 2019

Я пытаюсь понять функцию потерь CategoricalCrossentropy() в TensorFlow 2.0.Когда я использую

tf.keras.metrics.CategoricalCrossentropy(actual, pred)

, я получаю следующую ошибку:

ValueError: Значение истинности массива с более чем одним элементом является неоднозначным.Используйте a.any () или a.all ()

Может кто-нибудь объяснить, как это можно исправить?

1 Ответ

2 голосов
/ 12 июня 2019

Из документов , чтобы вычислить перекрестную энтропию, используйте

cce = tf.keras.metrics.CategoricalCrossentropy()
# cce.update_state(target, prediction)
cce.update_state([[0, 1, 0], [0, 0, 1]], [[0.05, 0.95, 0], [0.1, 0.8, 0.1]])

cce.result().numpy()
# 1.1769392

OTOH, если вы пытаетесь вычислить перекрестную энтропию убыток ,используйте tf.keras.losses.CategoricalCrossentropy вместо:

cce = tf.keras.metrics.CategoricalCrossentropy()
cce([[0, 1, 0], [0, 0, 1]], [[0.05, 0.95, 0], [0.1, 0.8, 0.1]]).numpy()
# 1.1769392
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...