Я пытаюсь выполнить некоторую настройку, используя SparseCategoricalCrossEntropy
здесь, но я понял, что значение не соответствует ожидаемому здесь, когда сумма вероятностей не равна 1.
import numpy as np
import tensorflow as tf
cce = tf.keras.losses.SparseCategoricalCrossentropy(reduction=Reduction.NONE)
loss = cce(
tf.constant([0, 1, 2]),
tf.constant([[.9, .05, .05], [.5, .89, .6], [.05, .01, .94]]))
print(loss) # [0.10536056 0.8046684 0.0618754]
# What I expect for the second list is
-np.log(.89) # 0.1165338
# Validity check for first and third row
-np.log(.9) # 0.105360
-np.log(.94) # 0.061875
Я что-то здесь неправильно понимаю? Что он делает под капотом?