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