Keras 数据扩充:每个时代的步骤到底意味着什么?

Keras 数据扩充:每个时代的步骤到底意味着什么?,keras,deep-learning,cnn,data-augmentation,Keras,Deep Learning,Cnn,Data Augmentation,我是深入学习的新手。我有一个基本的疑问。对你来说这听起来可能很愚蠢。 我正在从卫星图像中提取道路。我只有1080个样本图像。这就是我应用数据扩充的原因 下面是数据扩充的代码 aug = ImageDataGenerator(rotation_range=10, zoom_range=0.15, horizontal_flip=True, fill_mode="nearest") 所有这三个属性,即旋转范围、缩放范围和水平翻转将分别应用。我的意思是我将得到一个旋转图像,一个缩

我是深入学习的新手。我有一个基本的疑问。对你来说这听起来可能很愚蠢。
我正在从卫星图像中提取道路。我只有1080个样本图像。这就是我应用数据扩充的原因

下面是数据扩充的代码

aug = ImageDataGenerator(rotation_range=10,
zoom_range=0.15,
horizontal_flip=True,
fill_mode="nearest")
所有这三个属性,即旋转范围、缩放范围和水平翻转将分别应用。我的意思是我将得到一个旋转图像,一个缩放图像和一个水平翻转图像。我猜对了吗

len(trainX)  # output 875
现在,我正在我的模型上拟合我的训练数据

batch_size = 4
epochs = 10
roadModel_train = roadModel.fit(
    x=aug.flow(trainX, trainY, batch_size=batch_size),
    validation_data=(validX, validY),
    epochs=epochs,
  verbose=1,steps_per_epoch=len(trainX)//batch_size)
我的输出:

我的问题是,这218代表什么?我知道,它通常表示样本总数(在我的例子中是图像)

但是,当我们应用数据扩充时,它意味着什么呢?它是拍摄218张图像还是拍摄218*3(数据增强中的应用属性)=654张图像

我的数据集图像的像素大小是10米。那么我应该如何增加数据?我应该申请哪些属性

我将非常高兴你的帮助


提前谢谢

roadModel.fit()
中,将4设置为批量大小。这意味着每个批次拍摄4张图像,并根据该批次计算损失。获取训练集中的每个图像需要218个步骤

如果我们取
218*4
我们得到
872
。您的训练集长度为
875
,因此这是有意义的

批处理用于限制运行网络所需的RAM数量。在这种情况下,我建议设置
batch_size=35
,因为这将导致每个历元执行25个步骤

ImageDataGenerator
增强随机应用于每个图像。根据您的参数,有些将被翻转,有些将放大到1.15倍

我希望这能回答你的问题

可以找到所有增强的更多详细信息