Tensorflow ValueError:仅使用命名参数调用`sparse_softmax_cross_entropy_with_logits`(labels = ...,logits = ...,...)

时间:2017-07-11 14:54:26

标签: tensorflow

以上错误来自传统代码

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

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

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

1 个答案:

答案 0 :(得分:3)

错误本身为您提供了修复,您现在需要明确说明哪些代表logits以及哪些代表标签,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