Keras 中的图像数据增强生成器是随机应用的吗

数据挖掘 机器学习 深度学习 喀拉斯
2022-02-18 08:39:46

我正在研究图像分类问题并在 Keras 中使用数据增强。

from keras.preprocessing.image import ImageDataGenerator

datagen = ImageDataGenerator(
    rotation_range=2,
       horizontal_flip=True)

我想知道是否将ImageDataGenerator转换随机应用于图像补丁。也就是说,例如,旋转可以应用于一个图像,而翻转可以应用于另一个图像。我想知道是否应用旋转或翻转的决定是随机确定的。

1个回答

我建议查看相关文档

在那里,它指出:

旋转范围:诠释。随机旋转的度数范围。

...

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

说每个操作都是随机应用的,我想说,这意味着您的图像有时会在有增强步骤的情况下生成,有时会在没有增强步骤的情况下相互独立地生成。

如果这不能说服你,这里是源代码中的相关片段

if self.horizontal_flip:
    if np.random.random() < 0.5:
        x = flip_axis(x, img_col_axis)

旋转步骤的代码更复杂一些,但包含在我上面喜欢的同一个类中。