【发布时间】:2021-08-23 04:49:40
【问题描述】:
我知道在每个 epoch 我们都有一组新的增强。但我的问题是,如果我们总共有 10 个样本图像,batch_size = 5,并且我们采用 steps_per_epoch = 3 而不是 2 个,那么我们将在每个 epoch 中传递 5*3 = 15 图像,
所以我们肯定会有重复,我的问题是如果图像x被重复,两者将具有相同或不同的增强值。
这取决于新的增强是在每批还是在每个时期发生。
谢谢,
【问题讨论】:
-
ImageDataGenerator用于实时图像增强,如随机裁剪、缩放、翻译等。它将根据您的batch_size和您的原始10图像生成15新图像steps_per_epoch随机应用这些转换。它不会简单地批量处理您的数据,因此我们不会有重复的图像。 -
你是说每个下一张图片都有新的随机增强,而不是等待那个时期或批次完成?
-
不,这不会一次生成 15 张新图像,因为这可能会导致更大数据集的内存限制。
ImageDataGenerator的工作方式类似于 pythongenerator。图像会在程序需要时动态生成。 -
我无法清楚地理解你的答案,我是说什么时候会发生新的增强,1)在每个下一张图像上,2)在每个下一批,3)在每个下一个时期跨度>
-
在每个纪元开始时,将生成该纪元所需的图像数量。对于您的用例,在每个 epoch 开始时,将从您的原始图像数据生成 15 个新图像。可以参考详细解答here
标签: python tensorflow machine-learning keras data-preprocessing