我正在自学TensorFlow,目前正在tensorflow/models/slim存储库中尝试不同的图像分类模型。按照那里的教程,我已经对一个预先训练好的inception_v2_resnet模型进行了微调,并且正在尝试对其进行evaluate。我想知道是否有什么简单的方法可以修改eval_image_classifier.py脚本来打印它正在分类的图像的标签?这将有助于调整此脚本以用于测试集。
发布于 2017-07-25 20:22:09
我知道这篇文章有点老了,但我在这段时间使用了tensorflow。也许查看这篇文章的人会在这里找到答案。
您可以在计算循环中打印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]"Predictions:“之后的数组中的数字是输出的标签数。
以同样的方式,您可以输出例如错误标记的图像文件名,如下所示(How to get misclassified files in TF-Slim's eval_image_classifier.py?)
发布于 2016-11-30 03:56:49
slim中的evaluate函数负责在图像上实际调用session.run,所以这里是您想要修改的地方。
https://stackoverflow.com/questions/40869436
复制相似问题