TensorFlow tf.keras.losses.CategoricalCrossentropy


多分類問題では、one-hot符号化ターゲットが入力され、intタイプの符号化ターゲットであればSparseCategoricalCrossentropyが使用される.
以下の例におけるy_predy_trueの形状は[batch_size, num_class]である、入力毎にbatch_sizeが3である、3つのサンプルが同時に入力され、分類数は3である、one-hotが3つの分類である.
cce = tf.keras.losses.CategoricalCrossentropy()
loss = cce(
  [[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]],
  [[.9, .05, .05], [.5, .89, .6], [.05, .01, .94]])
print('Loss: ', loss.numpy())  # Loss: 0.3239

init

__init__(
    from_logits=False,
    label_smoothing=0,
    reduction=losses_utils.ReductionV2.AUTO,
    name='categorical_crossentropy'
)

パラメータ
説明
from_logits
label_smoothing=0
reduction
name

call

__call__(
    y_true,
    y_pred,
    sample_weight=None
)

パラメータ
説明
y_true
y_pred
sample_weight
参考:公式サイト