Keras Tensorflow val_acc始终为1或从0跳到1

时间:2018-05-25 08:57:12

标签: python tensorflow machine-learning keras

在某些网络中,我注意到val_acc直接从1.000开始 例如:

...
3/1667 [==============================] - 8s - loss: 0.0877 - acc: 0.0432 
- val_loss: 0.0814 - val_acc: 1.0000
Epoch 2/50

显然,在测试模型时,准确性是完全错误的。

在我看来,有过度拟合,但即使减少LR,这似乎也不会产生任何影响。 添加dropout导致val_acc为0.0000,并且从那里它不会移动。

我期望从测试集和验证测试中获得类似的准确性,但似乎2个值根本不相关

编辑以添加信息: 输入数据是一批黑白图像,其中x / y坐标表示眼睛位置。每个像素值在0-1范围内归一化,我确信眼睛坐标是正确的。

1 个答案:

答案 0 :(得分:0)

首先要确认的是数据是否正确加载并按预期加载。我在检查同事的代码以训练CNN执行图像分割时遇到了这个问题。事实证明,输入接地事实都是0(在训练数据中),网络也只输出0,并获得完美的准确度。

如果数据似乎是正确的,那么使用不同的准确度指标也可以帮助解决这个问题。您可以参考文档,了解哪些指标可用,并且与您尝试解决的问题非常匹配。