gpt4 book ai didi

keras - 数据增强 : What exactly does steps_per_epoch mean?

转载 作者:行者123 更新时间:2023-12-04 09:33:33 29 4
gpt4 key购买 nike

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

aug = ImageDataGenerator(rotation_range=10,
zoom_range=0.15,
horizontal_flip=True,
fill_mode="nearest")
所有这三个属性,即rotation_range、zoom_range 和horizo​​ntal_flip 将分别应用。我的意思是我会得到一张旋转图像、一张放大图像和一张水平翻转图像。我猜对了吗?
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)
我的输出:
enter image description here
我的问题是,这个 218 表示什么?我知道,它通常表示样本总数(或在我的情况下为图像)。
但是当我们应用数据增强时,它意味着什么?它需要 218 张图像还是需要 218 * 3(数据增强中的应用属性)= 654 张图像?
我的数据集图像的像素大小为 10m。那我应该如何扩充数据呢?我应该申请哪些属性?
我会很高兴为您提供帮助!
提前致谢!

最佳答案

在您的 roadModel.fit() ,您将 4 设置为批量大小。这意味着每批次拍摄 4 张图像,并从该批次计算损失。获取训练集中的每张图像需要 218 个步骤。
如果我们取 218*4我们得到 872 .你的训练集的长度是 875 ,所以这是有道理的。
批处理用于限制运行网络所需的 RAM 量。我建议设置 batch_size=35在这种情况下,因为这将导致每个 epoch 25 步。ImageDataGenerator增强随机应用于每个图像。根据您的参数,有些将被翻转,有些将放大至 1.15 倍。
我希望这回答了你的问题。
有关所有增强功能的更多详细信息,请访问 here

关于keras - 数据增强 : What exactly does steps_per_epoch mean?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62703301/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com