有人能告诉我 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]
答案 0 :(得分:0)
看here,你会发现
shuffle
是否对数据进行打乱(默认:True)如果设置为 False,则按字母数字顺序对数据进行排序。
由于您在代码中明确使用了 shuffle=True
,因此可以保证订单不可重现。