我正在尝试将图像分为10个类。为了获得图像的概率,我在keras中使用了model.predict_generator()函数。这仅返回预测值,而不返回相应的样本ID(在本例中为图像文件名)。
test_datagen = ImageDataGenerator(rescale=1./255)
validation_generator = test_datagen.flow_from_directory(
'/path/',
target_size=(256, 256),
batch_size=32,`
class_mode='categorical')
predictions = model.predict_generator(validation_generator, val_samples=10000)
'。flow_from_directory'以什么顺序读取样本?
(OR)
如何找到预测的相应图像名称/ ID?
点击here获取代码。
答案 0 :(得分:2)
如果您设置shuffle=False
,则看起来图片会以os.listdir
返回的顺序返回。
我刚刚使用我的生成器将一些示例图像写入shuffle=False
test_datagen = ImageDataGenerator(samplewise_center=False)
test_generator = test_datagen.flow_from_directory(
training_config['test_data_dir'],
target_size=(256, 256),
batch_size=5,
class_mode=None,
shuffle=False,
save_to_dir=os.path.join('samples'))
你也可以打印生成器的文件名..(我查看代码)只执行os.listdir
print test_generator.filenames
因此,索引0处的predict_generator
结果应该是os.listdir
索引0处的图像。