提问者:小点点

Keras ImageDataGenerator和来自目录类的流


我试图使用Keras'ImageDataGenerator的UNet自动编码器。我想从Tiny ImageNet数据集导入并将RGB图像转换为灰度图像,这些图像已重新缩放为0~1之间的值。

train_dir = r'D:\tiny-imagenet-200-testing\tiny-imagenet-200\train'
train_datagen = ImageDataGenerator(rescale=1 / 255)
train_generator = train_datagen.flow_from_directory(train_dir, target_size=(64, 64), 
                   color_mode='grayscale', class_mode='input', batch_size=128, 
                   horizontal_flip=True)

我试图在Keras中使用flow\u from\u directoryclass\u mode='input',这表示:

“输入”将是与输入图像相同的图像(主要用于自动编码器)。(见https://keras.io/preprocessing/image/)

但是,我不知道返回的“输入图像”是重新缩放和翻转的图像还是原始数据,未经ImageDataGenerator中指定的条件修改。有人知道ImageDataGeneratorflow_from_directory相互作用的顺序吗?特别是当class_mode='输入'


共1个答案

匿名用户

使用class\u mode='input'时,生成的图像及其相应的标签是相同的。您可以通过以下方式确认这一点:

import numpy as np

for tr_im, tr_lb in train_generator:
    if np.all(tr_im == tr_lb):
        print('They are the same!`)
    break

上述代码的输出将是,它们是相同的