【问题标题】:How to apply data augmentation to a dataset [closed]如何将数据增强应用于数据集[关闭]
【发布时间】:2021-02-08 21:24:34
【问题描述】:

我有一个非常小的数据集,我需要进行数据扩充。 我正在使用 Keras,但我无法理解这种方法如何帮助我。

我看了一些教程,他们建议在模型中添加层来进行数据增强。

 data_augmentation = tf.keras.Sequential([
    layers.experimental.preprocessing.RandomFlip("horizontal_and_vertical"),
    layers.experimental.preprocessing.RandomRotation(0.2), 
 ])

 model = Sequential()#add model layers
 model.add(data_augmentation)
 ....

我的问题是:数据增强如何帮助我处理一个小数据集,如果我传递给 model.fit 我的数据集中包含的 N 个图像,这些图像只会被翻转或旋转,我不会有两个相似的图像:例如,一个原始图像和一个翻转的图像。

我应该先保存增强后的图像吗?

在我的代码中,我遵循本教程选项 1 https://www.tensorflow.org/tutorials/images/data_augmentation

【问题讨论】:

  • 我投票结束这个问题,因为它不是关于 help center 中定义的编程,而是关于 ML 方法。
  • 请看machine-learningtag info中的介绍和注意

标签: tensorflow machine-learning keras image-recognition data-augmentation


【解决方案1】:

在训练过程中,没有增强的模型会处理数据集中的图像。当您添加增强时,会随机选择输入图像以转换为不同的图像并用作模型的输入。例如,如果您有一张猫图像并且它被随机选择为水平翻转,那么模型有时会在图像不翻转的情况下进行训练,有时在图像翻转的情况下进行训练。因此,您的模型会看到更广泛的输入图像分布。可以使用 ImageDataGenerator.flow 或 ImageDataGenerator.flow_from_directory 存储转换后的图像。文档是here.。然后可以将保存的转换图像添加到输入数据集中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-08
    • 2023-01-22
    • 2022-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-21
    相关资源
    最近更新 更多