我正在尝试将Keras的ImageDataGenerator
用于UNet自动编码器。我想从Tiny ImageNet数据集导入RGB图像并将其转换为灰度图像,这些图像已被重新缩放为值在0~1之间。
train_dir = r'D:tiny-imagenet-200-testingtiny-imagenet-200train'
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_from_directory
和class_mode='input'
,它说:
"输入"将是与输入图像相同的图像(主要用于工作具有自动编码器(。(请参见https://keras.io/preprocessing/image/)
但是,我不知道返回的"输入图像"是重新缩放和翻转的图像还是原始数据,未经ImageDataGenerator中指定的条件修改。有人知道ImageDataGenerator
和flow_from_directory
相互作用的顺序吗?尤其是当class_mode='input'
?
在使用class_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
上述代码的输出将是They are the same!
。