提问者:小点点

keras中的“flow_from_directory”函数按什么顺序采集样本?


我试图将图像分为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读取样本的顺序是什么?

(或)

如何找到预测对应的图像名称/id?

点击这里获取代码。


共1个答案

匿名用户

如果您设置了shuffle=False,则图像看起来会以任何顺序返回。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

打印test_generator.filenames

因此,索引0处的predict\u生成器结果应该用于os处的图像。listdir索引0。