用于多分类问题,传入的是one-hot
编码目标,如果是int
类型的编码目标,使用SparseCategoricalCrossentropy
下面这个例子中y_pred
和y_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 |
参考:
官网