上述错误是由传统代码引起的
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/