如何与ImageDataGenerator一起使用predict_generator? [英] How to use predict_generator with 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)
推荐答案
您可以从默认值( batch_size)更改
)更改为 flow_from_directory
中 batch_size
的值= 32 batch_size = 1
.然后将 predict_generator
的 steps
设置为测试图像的总数.像这样:
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)
这篇关于如何与ImageDataGenerator一起使用predict_generator?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!