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

Tensorflow 如何将数据扩充应用于数据集,tensorflow,machine-learning,keras,image-recognition,data-augmentation,Tensorflow,Machine Learning,Keras,Image Recognition,Data Augmentation,我有一个非常小的数据集,我需要做数据扩充。 我正在使用Keras,我在理解这种方法如何帮助我时遇到了一些问题 我看了一些教程,他们建议在模型中添加层以进行数据扩充 data_augmentation = tf.keras.Sequential([ layers.experimental.preprocessing.RandomFlip("horizontal_and_vertical"), layers.experimental.preprocessing.

我有一个非常小的数据集,我需要做数据扩充。 我正在使用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图像传递给model.fit N,数据增强如何帮助我处理小数据集?这些图像将只翻转或旋转,我将不会有两个类似的图像:例如,原始图像和翻转图像

我应该先保存增强图像吗

在我的代码中,我遵循本教程选项1

在训练过程中,无需增强的模型将按照图像在数据集中的状态处理图像。添加增强时,将随机选择一个输入图像,将其转换为不同的图像,并用作模型的输入。例如,如果您有一个cat图像,并且随机选择该图像进行水平翻转,则模型有时在图像未翻转的情况下进行训练,有时在图像翻转的情况下进行训练。因此,您的模型可以看到更广泛的输入图像分布。可以使用\u目录中的ImageDataGenerator.flow或ImageDataGenerator.flow\u存储转换后的图像。文件是。然后可以将保存的转换图像添加到输入数据集中。

在训练过程中,无需增强的模型将按照图像在数据集中的状态处理图像。添加增强时,将随机选择一个输入图像,将其转换为不同的图像,并用作模型的输入。例如,如果您有一个cat图像,并且随机选择该图像进行水平翻转,则模型有时在图像未翻转的情况下进行训练,有时在图像翻转的情况下进行训练。因此,您的模型可以看到更广泛的输入图像分布。可以使用\u目录中的ImageDataGenerator.flow或ImageDataGenerator.flow\u存储转换后的图像。文件是。然后可以将保存的转换图像添加到输入数据集中。

我投票结束这个问题,因为它不是关于ML方法中定义的编程,而是关于ML方法。请参阅机器学习中的简介和说明。。我投票结束这个问题,因为它不是关于ML方法中定义的编程但是关于ML方法。请参阅机器学习中的介绍和说明。