在 Keras 中使用“ImageDataGenerator”并在训练我的模型时直接传递它时,是否修改了图像以扩充数据集?

深梦

所以我正在构建一个图像分类器,并使用 Keras 的 ImageDataGenerator 类和以下参数:

ImageDataGenerator(
rescale=1./255, rotation_range=40, width_shift_range=0.2,
height_shift_range=0.2, shear_range=0.2, zoom_range=0.2, 
horizontal_flip=True, fill_mode='nearest'
)

然后,我使用以下代码将生成器的这个实例用于我的训练数据:

train_datagen.flow_from_dataframe(
dataframe=binary_df, directory='../train', x_col='Image', y_col='Label',
target_size=(target_size[0],target_size[1]),
batch_size=batch_size, class_mode='categorical',interpolation='nearest'
)

最后,这个生成器被直接传递给 Keras 中的“fit_generator”函数来训练我的模型,如下所示:

binary_model.fit_generator(
binary_train_generator, epochs=100, shuffle=True)

我的问题是,生成器是在创建生成器时自动增加指定的数据(水平翻转、旋转等)并在训练模型时传递它,还是我需要先使用生成器来创建新数据,以及然后将其传递给我的“fit_generator”函数?

谢谢!

席蒙·马兹克

请参阅ImageDataGenerator 文档,尤其是您正在使用的函数flow_from_dataframe

引用文档:

获取目录的路径并生成批量增强数据。

因此,它将为您生成模型的增强数据。

顺便说一句:在创建生成器时不会增加数据,而是在输入模型时逐批增加。

编辑:图像数量(训练数据点)保持不变,引用文档:

水平翻转:布尔值。水平随机翻转输入。

你的一些输入是随机翻转的,这不像是输入两个单独的图像(一个翻转,另一个在原始版本中,未增强版本)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档