我对我的CNN有一个胡说八道的问题。它在测试和验证数据上有很好的准确性,但在预测方面却非常糟糕,我不知道为什么
我有一个包含traningData和TestData的文件夹,每个文件夹有5个子文件夹名classA、classB。C类,D类,E类。他们都有相关的图片
----这个问题的解决办法--------- 我发现了错误,这就是为什么我澄清了我的问题,使之更加清楚。因此,问题在于测试_生成器。我没有把shuffle=False, 因此,在测试_directory()中的_datagen.flow_时,必须将shuffle=False,这样样本就不会被洗牌,并且在预测时具有相同的顺序
非常感谢大家
test_datagen = tf.keras.preprocessing.image.ImageDataGenerator(
rescale = 1./255,
)
test_generator = test_datagen.flow_from_directory(
directory="../newFlowers/TestData",
target_size=(128, 128),
color_mode="rgb",
batch_size=8,
class_mode="categorical",
)
您的评估准确率为89.9%。我测试了我给你打印结果的代码,结果与我使用的模型和数据相符。请显示用于model.predict的代码。应该如下所示。请勿使用预测生成器拟合生成器或评估生成器,因为在tensorflow的未来版本中,将对其进行折旧。只需使用拟合、预测或评估
看看你的preds打印出来的第一个预测应该是索引=4,这是E类,所以这是正确的,第二个预测指数的最高概率是1,这是B类,所以这是正确的,其余的也是正确的。您确定标签为labels=test\u gen.labels吗
相关问题 更多 >
编程相关推荐