如何将 Keras ImageDataGenerator 用于自己的数据集,以训练卷积自编码器?

时间:2021-04-15 08:00:25

标签: python keras autoencoder

有人能告诉我 ImageDataGenerator 是在训练时随机获取一批原始数据,还是在每个 epoch 中按顺序获取,比如第一次迭代的前 100 个样本,第二次迭代的第二个 100 个样本,等等在? 我需要理解这一点,因为我正在训练一个卷积自动编码器,并且输入也作为输出在 model.fit() 中传递。所以两者应该正确对应。

该数据集有 3200 张大小为 360x640 的图像。到目前为止,我有这个:

gen = ImageDataGenerator()
train_im = ImageDataGenerator(
               rescale=1./255,
               shear_range=0.2,
               horizontal_flip=False)
def train_images():
    train_generator = train_im.flow_from_directory (
            'train_frames', 
             target_size=(360, 640),
             color_mode='rgb',
             batch_size=100,
             shuffle = True,
             class_mode='categorical')
    x =  train_generator
    return x[0][0], x[0][1]

1 个答案:

答案 0 :(得分:0)

here,你会发现

shuffle 是否对数据进行打乱(默认:True)如果设置为 False,则按字母数字顺序对数据进行排序。

由于您在代码中明确使用了 shuffle=True,因此可以保证订单不可重现。