Keras 数据扩充给了我更糟糕的结果

Keras 数据扩充给了我更糟糕的结果,keras,computer-vision,conv-neural-network,mnist,Keras,Computer Vision,Conv Neural Network,Mnist,我使用Keras ImageDataGenerator并通过了培训images Think it(MNIST数据集) 在培训过程中,我得到了预期的结果,并且得到了99%以上的验证分数。以下是培训后的图表: 但是当我使用model.evaluate来获得验证数据集的分数时,我得到的分数非常低 scores = model.evaluate(X_val,y_val.toarray(), verbose = 10 ) print (scores) 我得到的结果如下: [2.454622192836

我使用Keras ImageDataGenerator并通过了培训images Think it(MNIST数据集)

在培训过程中,我得到了预期的结果,并且得到了99%以上的验证分数。以下是培训后的图表:

但是当我使用
model.evaluate
来获得验证数据集的分数时,我得到的分数非常低

scores = model.evaluate(X_val,y_val.toarray(), verbose = 10 )
print (scores)
我得到的结果如下:

[2.454622192836943,0.080714285]

  • 为什么会这样
  • 如何在测试时通过datagen传递图像

在培训中,您从
train\u gen
获取图像,因此在验证中,您应该从
validation\u gen
获取图像,而不是从
X\u val
y\u val
获取图像


为培训而进行的任何预处理通常也应在推理之前进行。使用
模型。根据评估生成器(验证生成)
在培训中,您从
培训生成
中获取图像,因此在验证中,您应该从
验证生成
中获取图像,而不是从
X\u val
y\u val
中获取图像

为培训而进行的任何预处理通常也应在推理之前进行。使用
模型。根据

scores = model.evaluate(X_val,y_val.toarray(), verbose = 10 )
print (scores)