我试图使用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 directory
和class\u mode='input'
,这表示:
“输入”将是与输入图像相同的图像(主要用于自动编码器)。(见https://keras.io/preprocessing/image/)
但是,我不知道返回的“输入图像”是重新缩放和翻转的图像还是原始数据,未经ImageDataGenerator中指定的条件修改。有人知道ImageDataGenerator
和flow_from_directory
相互作用的顺序吗?特别是当class_mode='输入'
?
使用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
上述代码的输出将是,它们是相同的代码>。