Tensorflow ValueError : Only call `sparse_softmax_cross_entropy_with_logits` with named arguments (labels=. ..,logits=...,...)

标签 tensorflow

上述错误是由传统代码引起的

tf.nn.sigmoid_cross_entropy_with_logits(self.D_logits_, tf.ones_like(self.D_))

并且使用 Tensorflow V1.0 或更高版本发生。

代码本身似乎没有错误,这是如何修复的?

最佳答案

错误本身为您提供了修复,您现在需要明确说明哪个代表逻辑,哪个代表标签,Tensorflow 将不再为您假设。

发生这种情况可能是因为您正在使用在 Tensorflow 1.0 之前编写的过时代码。

而不是:

(self.D_logits_, tf.ones_like(self.D_))

我们想要:

(logits=self.D_logits_, labels=tf.ones_like(self.D_))

更新的代码:

tf.nn.sigmoid_cross_entropy_with_logits(logits=self.D_logits_, labels=tf.ones_like(self.D_))

感谢@Mrry最初在这里提出了解决方案:https://github.com/tensorflow/tensorflow/issues/7814

关于Tensorflow ValueError : Only call `sparse_softmax_cross_entropy_with_logits` with named arguments (labels=. ..,logits=...,...),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45038024/

相关文章:

tensorflow - 在 tensorflow 中将 CSR 格式转换为密集/COO 格式

python - 如何将 numpy ndarray 值转换为概率值

machine-learning - 如何在没有绑定(bind)权值的情况下实现卷积连接?

python - Tensorflow:训练并不能提高准确性

python - Tensorflow:如何替换或修改梯度?

python - Tensorflow:如何提取 attention_scores 用于绘图?

python - 如何为 tensorflow 多GPU代码实现批量归一化层

python - OperatorNotAllowedInGraphError : using a `tf.Tensor` as a Python `bool` is not allowed: (error in tf Cycle GAN)

python - 为什么 "bare"CPU 上的 Keras 模型更快?

python - 使用 TensorFlow 出现奇怪的转换问题