keras中'flow_from_directory'函数以什么顺序获取样本?

时间:2016-07-23 06:44:14

标签: python-2.7 keras

我正在尝试将图像分为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获取代码。

1 个答案:

答案 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处的图像。