【发布时间】:2021-11-30 18:53:05
【问题描述】:
问题已使用一种热编码解决。
【问题讨论】:
-
请不要以这种方式编辑问题。您的问题的其他查看者不会从您的编辑中获得任何有意义的信息。如果您想提及已解决的问题,请接受适当的答案。
标签: numpy keras deep-learning tensorflow2.0
问题已使用一种热编码解决。
【问题讨论】:
标签: numpy keras deep-learning tensorflow2.0
这是因为您将标签用作整数(例如 0,1,2,..9)形状 (batch_size, 1) 并且模型的输出大小是 (batch_size,10) 即每个类的概率。
要么更改one_hot 中的标签,这将更改大小为[num_classes] 的向量中的单个标签。语法如下所示。
tf.keras.utils.to_categorical(
y, num_classes=None, dtype='float32'
)
(在你的情况下num_classes=10)
或使用@AloneTogether 提到的需要整数标签的SparseCategoricalCrossentropy。语法如下。
tf.keras.losses.SparseCategoricalCrossentropy(
from_logits=False, reduction=losses_utils.ReductionV2.AUTO,
name='sparse_categorical_crossentropy'
)
【讨论】: