tf.keras.losses.SparseCategoricalCrossentropy函数

函数原型

tf.keras.losses.SparseCategoricalCrossentropy(
    from_logits=False,
    reduction=losses_utils.ReductionV2.AUTO,
    name='sparse_categorical_crossentropy'
)

函数说明

SparseCategoricalCrossentropy函数用于计算多分类问题的交叉熵,计算公式如下:
在这里插入图片描述
参数from_logits=False表示输出的logits需要经过激活函数的处理,默认为False。

函数使用

SparseCategoricalCrossentropy函数中y_true中的标签应为一个整数,而不是one-hot编码的形式。

# y_true为整数标签形式
>>> y_true = [2, 1, 1]
>>> y_pred = [[0.5, 0.3, 0.2], [0.3, 0.6, 0.1], [0.4, 0.4, 0.2]]
>>> loss = tf.keras.losses.SparseCategoricalCrossentropy()
>>> loss_calc = loss(y_true, y_pred)
>>> loss_calc


# 对比
# y_true为one-hot形式
>>> y_true = [[0, 0, 1], [0, 1, 0], [0, 1, 0]]
>>> y_pred = [[0.5, 0.3, 0.2], [0.3, 0.6, 0.1], [0.4, 0.4, 0.2]]
>>> loss = tf.keras.losses.CategoricalCrossentropy()
>>> loss_calc = loss(y_true, y_pred)
>>> loss_calc

你可能感兴趣的:(#,tensorflow,keras,tensorflow,深度学习)