【问题标题】:In what order does 'flow_from_directory' function in keras takes the samples?keras 中的“flow_from_directory”函数以什么顺序获取样本?
【发布时间】:2016-07-23 06:44:13
【问题描述】:

我正在尝试将图像分为 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?

点击here获取代码。

【问题讨论】:

    标签: python-2.7 keras


    【解决方案1】:

    如果您设置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 结果应该是在索引 0 处的图像的 os.listdir

    【讨论】:

    • 如果predict_generatorval_samples 大于目录中的文件数,它如何工作?包起来了吗?
    猜你喜欢
    • 2021-04-14
    • 2021-10-11
    • 2018-10-30
    • 2019-11-16
    • 2017-09-15
    • 1970-01-01
    • 2019-04-01
    • 2018-08-07
    • 1970-01-01
    相关资源
    最近更新 更多