微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何将数据扩充应用于数据集

如何解决如何将数据扩充应用于数据集

我的数据集非常小,我需要进行数据扩充。 我正在使用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)
 ....

我的问题是:如果我将数据集中包含的N张图像传递给 model.fit 这些数据将仅被翻转或旋转,那么数据增强将如何帮助我获得一个小的数据集?有两个相似的图像:例如原始图像和一个翻转图像。

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

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

解决方法

在训练模型而不进行扩充的过程中,将按照数据集中的图像进行处理。添加增强时,将随机选择输入图像以将其转换为其他图像,并用作模型的输入。例如,如果您有猫的图像,并且随机选择要水平翻转的猫,则有时训练模型时不翻转图像,有时不翻转图像。因此,您的模型可以看到更广泛的输入图像分布。可以使用ImageDataGenerator.flow或ImageDataGenerator.flow_from_directory存储转换后的图像。文档为here.。然后可以将保存的转换图像添加到输入数据集中。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。