如何使用predict_generator与ImageDataGenerator?

我对Keras非常新手。我已经训练了一个模型,现在想预测存储在子文件夹中的一些图像(就像训练时一样)。在测试时,我想从7个类别(子文件夹)中预测2张图像。下面的test_generator识别到了14张图像,但我得到了196个预测结果。问题出在哪里?非常感谢!

test_datagen = ImageDataGenerator(rescale=1./255)test_generator = test_datagen.flow_from_directory(        test_dir,        target_size=(200, 200),        color_mode="rgb",        shuffle = "false",        class_mode='categorical')filenames = test_generator.filenamesnb_samples = len(filenames)predict = model.predict_generator(test_generator,nb_samples)

回答:

你可以将flow_from_directory中的batch_size值从默认值(即batch_size=32)更改为batch_size=1。然后将predict_generatorsteps设置为测试图像的总数。像这样:

test_datagen = ImageDataGenerator(rescale=1./255)test_generator = test_datagen.flow_from_directory(        test_dir,        target_size=(200, 200),        color_mode="rgb",        shuffle = False,        class_mode='categorical',        batch_size=1)filenames = test_generator.filenamesnb_samples = len(filenames)predict = model.predict_generator(test_generator,steps = nb_samples)

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注