如何将 predict_generator 与 ImageDataGenerator 一起使用? [英] How to use predict_generator with ImageDataGenerator?

查看:35
本文介绍了如何将 predict_generator 与 ImageDataGenerator 一起使用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对 Keras 很陌生.我训练了一个模型,并想预测存储在子文件夹中的一些图像(例如用于训练).为了测试,我想从 7 个类(子文件夹)中预测 2 个图像.下面的 test_generator 看到 14 个图像,但我得到了 196 个预测.错误在哪里?非常感谢!

I'm very new to Keras. I trained a model and would like to predict some images stored in subfolders (like for training). For testing, I want to predict 2 images from 7 classes (subfolders). The test_generator below sees 14 images, but I get 196 predictions. Where is the mistake? Thanks a lot!

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_directorybatch_size 的值从默认值(即 batch_size=32 ) 到 batch_size=1.然后将 predict_generatorsteps 设置为测试图像的总数.像这样:

You can change the value of batch_size in flow_from_directory from default value (which is batch_size=32 ) to batch_size=1. Then set the steps of predict_generator to the total number of your test images. Something like this:

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)

这篇关于如何将 predict_generator 与 ImageDataGenerator 一起使用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆