在评估TensorFlow-Slim时显示标签

时间:2016-11-29 15:20:17

标签: python python-2.7 tensorflow tf-slim

我正在自学TensorFlow,目前正在tensorflow/models/slim回购中尝试不同的图像分类模型。在那里的教程之后,我对预训练的inception_v2_resnet模型进行了微调,并尝试evaluate它。我想知道是否有任何简单的方法来修改eval_image_classifier.py脚本来打印它正在分类的图像的标签?这有助于调整此脚本以用于测试集。

2 个答案:

答案 0 :(得分:2)

我知道这篇文章有点陈旧,但我在这段时间里正在玩张力流。也许有人检查这篇文章会在这里找到答案。

您可以在评估循环中打印eval_op,它可以处理其他数据,而不仅仅是names_to_updates.values()。 最初它会写成:

eval_op = list(names_to_updates.values())

但你可以改为:

eval_op = tf.Print(list(names_to_updates.values()), [predictions], message="predictions:", summarize=100)

示例输出:

INFO:tensorflow:Evaluation [1/111]
I tensorflow/core/kernels/logging_ops.cc:79] predictions:[11 3 3 9]
INFO:tensorflow:Evaluation [2/111]
I tensorflow/core/kernels/logging_ops.cc:79] predictions:[8 10 3 7]

"预测后数组中的数字:"是输出的标签数量。

以同样的方式输出例如标记错误标记的图像文件名(How to get misclassified files in TF-Slim's eval_image_classifier.py?

希望它可以帮助某人。干杯

答案 1 :(得分:1)

slim中的evaluate函数负责实际调用图像上的session.run,因此您需要修改它。