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'設置爲任意數字。 –