有些人可能会说这是重复的,但是我搜索答案的时间太长了,每个答案都有无法解释的输入。我的问题是使用python retrain.py --image_dir [labels的根目录]重新训练Inception时如何生成预测,该方法有效,但仅输出精度。我希望能够将每个图像的预测存储在与output_labels.txt文件类似的文件中,以便可以将行结尾处的内容进行剥离和解析等操作,以便以后进行进一步分析。因此,我对如何做出预测的理解是:
prediction=tf.argmax(y,1)
print "predictions", prediction.eval(feed_dict={x: mnist.test.images}, session=sess)
(从这个答案:https://github.com/tensorflow/tensorflow/issues/97开始)y是训练模型的最后一层?例如logits层,有时甚至是softmax。但是我不明白feed_dict做什么,或者mnist.test.images是什么,以及在retrain.py中实现它需要什么格式。如果还有与retrain.py的预测相关的更完整的答案,将不胜感激。
我探索的另一种方法是label_image.py(https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/label_image/label_image.py),它将输出预测,但是我不明白该变量在label_image.py中的结果是如何从一个包含标签和预测的张量变为文本的张量的以及如何访问该信息。还是有一种方法不使用--image而是修改label_image.py以仅针对所有图片运行?我觉得这个操作已经在retrain.py中完成了,但是又一次,不知道在哪里。以下是使用上述结果变量的代码段:
top_k = results.argsort()[-5:][::-1]
labels = load_labels(label_file)
for i in top_k:
print(labels[i], results[i])
我希望这个问题足够具体,如果不是,我将尝试澄清。