我正在自学 TensorFlow,目前正在tensorflow/models/slim
repo 中尝试不同的图像分类模型。按照那里的教程,我已经微调了一个预训练的inception_v2_resnet
模型,并正在尝试对其进行评估。我想知道是否有任何简单的方法来修改eval_image_classifier.py
脚本以打印它正在分类的图像的标签?这将有助于调整此脚本以与测试集一起使用。
问问题
809 次
2 回答
2
我知道这篇文章有点老了,但我在这段时间里玩的是 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:”后面的数组中的数字是输出的标签个数。
以同样的方式,您可以输出例如此处写的错误标记的图像文件名(如何在 TF-Slim 的 eval_image_classifier.py 中获取错误分类的文件?)
于 2017-07-25T12:22:09.043 回答
1
slim 中的评估函数是负责在图像上实际调用 session.run 的函数,所以这里有你要修改的地方。
于 2016-11-29T19:56:48.557 回答