0

我正在自学 TensorFlow,目前正在tensorflow/models/slimrepo 中尝试不同的图像分类模型。按照那里的教程,我已经微调了一个预训练的inception_v2_resnet模型,并正在尝试对其进行评估。我想知道是否有任何简单的方法来修改eval_image_classifier.py脚本以打印它正在分类的图像的标签?这将有助于调整此脚本以与测试集一起使用。

4

2 回答 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 回答