model.evaluate()在凯拉斯不包括所有数据点

问题描述:

我目前正在学习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

这里的问题在于一个progbarevaluate功能。您的progbar只是打印评估的第一步。您可以通过检查所有结果是否相同,直到float32精度(大约是1e-5 - 1e-7)来轻松检查。所以我不会为这个问题而烦恼,因为jupyter在显示progbar时经常遇到问题。

+0

我想你对此的看法是正确的。我早先注意到了结果,但不知道如何理解它们。谢谢你的协助。现在我相信这个'progbar'问题是由'Keras'社区修复的。 – thepunitsingh