gpt4 book ai didi

python - ImageDataGenerator 是否会向我的数据集添加更多图像?

转载 作者:太空狗 更新时间:2023-10-29 22:08:47 25 4
gpt4 key购买 nike

我正在尝试使用 Inception V3 模型进行图像分类。 Keras 的 ImageDataGenerator 是否会创建添加到我的数据集的新图像?如果我有 1000 张图片,使用此功能是否会将其加倍到 2000 张用于训练的图片?有没有办法知道有多少图像被创建并现在输入到模型中?

最佳答案

简短回答: 1) 所有原始图像都只是转换(即旋转、缩放等)每个时期,然后用于训练,以及 2) [因此]每个时期的图像数量等于您拥有的原始图像数量。

长答案:在每个时代,ImageDataGenerator对您拥有的图像应用转换,并使用转换后的图像进行训练。这组转换包括旋转、缩放等。通过这样做,您以某种方式创建了新数据(即也称为数据扩充),但显然生成的图像与原始图像并没有完全不同。这样,学习到的模型可能会更加稳健和准确,因为它是在同一图像的不同变体上训练的。

需要将fit方法的steps_per_epoch参数设置为n_samples/batch_size,其中n_samples是您拥有的训练数据总数(即您的情况下为 1000)。这样在每个 epoch 中,每个训练样本只增加一次,因此每个 epoch 将生成 1000 张变换图像。

此外,我认为有必要在这种情况下澄清“增强”的含义:基本上,当我们使用 ImageDataGenerator 并启用其增强功能时,我们就是在增强图像。但是这里的“增强”一词并不意味着,如果我们有 100 张原始训练图像,我们最终在增强后 每个时期 有 1000 张图像(即训练图像的数量不会增加每个时期) .相反,这意味着我们在每个时期对每个图像使用不同的变换;因此,如果我们训练我们的模型,比方说,5 个时期,我们在训练中使用了每个原始图像的 5 个不同版本(或者在整个训练中使用 100 * 5 = 500 个不同的图像,而不是只使用 100 个原始图像整个训练)。换句话说,unique images 的总数在整个训练过程中从开始到结束都在增加,而不是每个 epoch。

关于python - ImageDataGenerator 是否会向我的数据集添加更多图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51748514/

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