我目前正在编写tensorflow的Cifar-10教程。我想更改评估,这样我就可以看到我的模型的预测结果是什么,以及它是真是假。我很难理解第一部分:如果我打印预测(sess.run(top_k_op)),我会得到true/false值,我假设这些值是预测是否正确。但是,如果我尝试打印实际的预测(到目前为止,我尝试打印logits,并打印top_k_op张量),我会得到一些数字或值,但看起来不像标签。我必须对代码进行哪些更改才能真正看到我的模型预测的标签?
发布于 2016-03-06 08:07:20
您想要首先评估logits。这是网络之外的类的概率分布。具有较高值的张量的索引将为您的标签提供最可能的类别。
您可以使用tf.argmax获取索引,然后使用标签中的索引将其打印出来
print labels[index]发布于 2016-03-12 02:56:17
你可以通过查看here找到答案
在svhn.py中,在第116行打印预测的标签:print (step, int(test_labels[0]))
我用一种清晰的方式做到了,使用:
classification = sess.run(top_k_predict_op)
print (step, int(test_labels[0]))
print "network predicted:", classification[0], "for real label:", test_labels确保您是在24*24图像上进行预测,以防您使用原始版本的TensorFlow CIFAR-10模型训练您的模型。
https://stackoverflow.com/questions/35815170
复制相似问题