数据增强层的行为是什么?

时间:2020-09-01 03:32:45

标签: tensorflow keras

我正在尝试了解tensor flow data augmentation tutorial

在以下定义的模型中

model = tf.keras.Sequential([
  resize_and_rescale,
  data_augmentation,
  layers.Conv2D(16, 3, padding='same', activation='relu'),
  layers.MaxPooling2D(),
  # Rest of your model
])

我的理解是无论data_augmentation中定义了多少图像旋转/缩放/变换。此 data_augmentation层仅从 1 输入图像中输出 1 图像,对吗?

我看到了另一则帖子Does ImageDataGenerator add more images to my dataset?。有人回答每个时代ImageDataGenerator将创建不同的图像,这是相同的行为吗?

否则,这是一个相同的经过变换的经过图像训练的新纪元,没有任何意义。

1 个答案:

答案 0 :(得分:2)

是的!数据增强层将仅转换图像并返回与输入相同的形状(batch_size,* image_dims)。但是,由于数据增强层中的随机化,每次调用该层时,您可能会获得不同的输出。例如,在链接的教程中,随机旋转或缩放的可能性为20%,此外,每次调用该图层时,都会随机选择缩放因子和旋转角度(在指定限制内​​)。