python - 如何将 predict_generator 与 ImageDataGenerator 一起使用?

标签 python machine-learning keras deep-learning generator

我是 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.filenames
nb_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.filenames
nb_samples = len(filenames)

predict = model.predict_generator(test_generator,steps = nb_samples)

关于python - 如何将 predict_generator 与 ImageDataGenerator 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45806669/

相关文章:

python - 将图像转换为 Python 中的二维坐标数组以实现两点相关

python - 不断在我的服务器上运行脚本

artificial-intelligence - FIND-S 算法 - 简单问题

python - keras CNN 模型预测良好,但只有一个标签无法预测

tensorflow - 如何在自定义keras层中使用keras层

python - 使用openpyxl将工作表(数据+样式)从工作簿复制到Python中的另一个

python - Pandas 数据框尾部不工作

python - 在 jupyter nb v5、win 10、p2.7 中导入 XGBOOST 时出错。通过 conda mndrake 安装

neural-network - 如何在 keras 中拥有并行卷积层?

keras - 使用 model.fit_generator 时如何获取混淆矩阵