gpt4 book ai didi

python - 自定义 keras 损失为 'sparse_softmax_cross_entropy_with_logits' - 排名不匹配

转载 作者:太空宇宙 更新时间:2023-11-03 20:07:53 24 4
gpt4 key购买 nike

我一直致力于使用 tensorflow 损失(sparse_softmax_cross_entropy_with_logits)编写 keras 模型,并且遇到了这个问题。对于此模型,真实值应该是形状为 (batch_size) 的张量,并且模型的输出将具有形状 (batch_size, num_classes)。我已经验证模型的输出的形状为 (?, num_classes),并且我已经为真实值创建了一个目标张量,但这似乎并没有解决问题。有人对如何修复它有任何想法吗?我有什么遗漏的吗?下面是相关代码。

def tf_loss(y_true, y_pred):
return tf.nn.sparse_softmax_cross_entropy_with_logits(labels=y_true, logits=y_pred)

pred = tf.placeholder(dtype=tf.int32, shape=[None])
model.compile(optimizer='adam', loss=tf_loss, target_tensor=pred)

当我查看损失函数内部时,我发现 y_true 具有形状 (?, num_classes),y_pred 具有形状 (?, ?)。

最佳答案

好吧,我感到非常尴尬,但这个错误只是一个拼写错误。 “target_tensors”而不是“target_tensor”。如果不是这样,另一种选择就是简单地修改损失函数中的张量。

关于python - 自定义 keras 损失为 'sparse_softmax_cross_entropy_with_logits' - 排名不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58870065/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com