【发布时间】:2020-01-17 20:11:30
【问题描述】:
我修改了tensorflow convnet tutorial 只训练两个班。
然后我使用cifar10_eval.py评估模型
我试图理解tf.nn.in_top_k的输出
L128 top_k_op = tf.nn.in_top_k(logits, labels, 1)
打印出来为:
in_top_k 输出:::
[array([ True, False, True, False, True, True, True, True, True, True], dtype=bool)]
而真正的标签(两个类别,10 个图像)是:::
[0 1 1 1 1 1 1 1 1 0]
logits 是:::
[[ 1.45472026 -1.46666598]
[-1.0181191 1.03441548]
[-1.02658665 1.04306769]
[-1.19205511 1.21065331]
[-1.22167087 1.24064851]
[-0.89583808 0.91119087]
[-0.17517655 0.18206072]
[-0.09379113 0.09957675]
[-1.05578279 1.07254183]
[ 0.73048806 -0.73411369] ]
问题:为什么第二个和第四个nn.in_top_k() 输出是False 而不是True?
【问题讨论】:
-
寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包括所需的行为、特定的问题或错误以及在问题本身中重现它所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:How to create a Minimal, Complete, and Verifiable example。
标签: tensorflow