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

viv*_*vek 9 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)
Run Code Online (Sandbox Code Playgroud)

'.flow_from_directory'以什么顺序读取样本?

(要么)

如何找到预测的相应图像名称/ ID?

点击此处查看代码.

小智 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'))
Run Code Online (Sandbox Code Playgroud)

您还可以打印生成器的文件名..(我查看了代码)只是执行os.listdir

print test_generator.filenames

因此,predict_generator索引 0 处的结果应该是索引 0 处的图像os.listdir