2017-06-06 39 views
2

我目前正在學習Keras和使用model.evaluate()時感到困惑。model.evaluate()在凱拉斯不包括所有數據點

我共有768個數據點,但model.evaluate()正在評估只有32個數據點,並給出75.52%的準確度。我也嘗試了批量大小爲100,50,20,10,但它不包括所有的數據點,但精度保持不變。

您可以檢查我的Jupyter筆記本文件,如果實施here

我無法理解,如果我做錯了什麼,或者是Keras的特性/錯誤。

請幫助我一樣。提前致謝。

PS:我試圖尋找這個問題在互聯網和StackExchange的答案,但沒有發現任何。如果我的問題是重複的,請讓我知道它的鏈接,我很樂意從這裏刪除這個問題!

+0

這不應該發生。確保你的Keras和theano版本是最新的。嘗試從源代碼構建keras。如果再次發生這種情況,請在Keras github上提出問題 – Nain

+0

什麼是Keras版本?請嘗試檢查分數的形狀。也許這是正確的,只有一個progbar被打破。 –

+0

@Nain我檢查了版本,'theano .__ version__'是'0.9.0.dev-c697eeab84e5b8a74908da654b66ec9eca4f1291','keras .__ version__'是'2.0.2'。我在conda環境中,現在將keras更新爲其最新版本「2.0.4」。但仍然'model.evaluate()'輸出相同。在Git上更新[同一文件](https://github.com/thepunitsingh/keras_tutorials/blob/master/pima-indians-diabetes-categorization.ipynb)以獲得當前結果。我想我應該在Keras github上提出這個問題。 – thepunitsingh

回答

1

這裏的問題在於一個progbarevaluate功能。您的progbar只是打印評估的第一步。您可以通過檢查所有結果是否相同,直到float32精度(大約是1e-5 - 1e-7)來輕鬆檢查。所以我不會爲這個問題而煩惱,因爲jupyter在顯示progbar時經常遇到問題。

+0

我想你對此的看法是正確的。我早先注意到了結果,但不知道如何理解它們。謝謝你的協助。現在我相信這個'progbar'問題是由'Keras'社區修復的。 – thepunitsingh