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倍
我希望这能回答你的问题
可以找到所有增强的更多详细信息