0

我按照tutorial来微调Flowers数据集的初始模型。Tensorflow models/slim eval_image_classifier.py评估的图像数量错误

flowers数据集在flowers.py文件中指定了350个验证图像。

但是,当我跑eval_image_classifier.py并修改它来打印TP,FP,TN,FN

数量

结果:

I tensorflow/core/kernels/logging_ops.cc:79] eval/TrueNegatives[64] 
I tensorflow/core/kernels/logging_ops.cc:79] eval/TruePositives[286] 
I tensorflow/core/kernels/logging_ops.cc:79] eval/FalsePositives[2] 
I tensorflow/core/kernels/logging_ops.cc:79] eval/FalseNegatives[48] 

如果添加了起来,旗下共有400 。但验证图像的数量是350.

我做了微调我的自定义数据集,其中验证图像是150只有两个类。

结果为:

I tensorflow/core/kernels/logging_ops.cc:79] eval/TruePositives[11] 
I tensorflow/core/kernels/logging_ops.cc:79] eval/TrueNegatives[155] 
I tensorflow/core/kernels/logging_ops.cc:79] eval/FalsePositives[4] 
I tensorflow/core/kernels/logging_ops.cc:79] eval/FalseNegatives[30] 
I tensorflow/core/kernels/logging_ops.cc:79] eval/Accuracy[0.83] 
I tensorflow/core/kernels/logging_ops.cc:79] eval/AreaUnderCurve[0.62156773] 

如果把它们加起来的出来是200

这究竟是为什么?额外的50张图片来自哪里?

有没有办法修改eval_image_classifier.py来打印验证图像的名称及其预测和标签?

我也问过这个问题作为模型/ slim github上的问题,但我还没有收到任何回复。

回答

1

图像不匹配数量的原因是程序正在使用的输入队列。它通过批量提供值。您需要根据数据集大小设置batch_sizenum_batches以解决此问题。 num_batches

默认值是上舍入deafult num_batches

+0

好的,谢谢。我会尝试。对于我的自定义数据集,我有150个图像。所以我必须改变'batch_size = 75'? – Nik

+0

只要您与'num_batches'参数同步,您可以将'batch_size'设置为任意数字。 –