我对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_generator
的steps
设置为测试图像的总数。像这样:
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)