在 ImageDataGenerator 中,数据是在每个批次还是每个时期都增加的?

In ImageDataGenerator data is augmented in each batch or each epoch?

我知道在每个时代我们都有一组新的增强。但我的问题是,如果我们总共有 10 张样本图像,batch_size = 5,并且我们采用 steps_per_epoch = 3 而不是 2,那么我们将在每个 epoch 中传递 5*3 = 15 图像,

所以我们肯定会有重复,我的问题是,如果图像 x 重复,两者将具有相同或不同的增强值。
这取决于新的增强是在每个批次还是每个时期发生。

谢谢,

增强是按时代发生的,而不是按批次发生的。

解释:

train_size = 10 
batch_size = 5
steps_per_epoch = n*(train_size//batch_size) # n is any positive integer

ImageDataGenerator 的工作原理是,对于第 1 个时期,它将增强所有 10 张图像以生成 10 张增强图像,然后 select 1-5 个增强图像用于训练的第一步。这意味着您用于训练的数据是由时代定义的。在第一个时期的第二步中,将使用下一组增强图像,即 6-10。

在第 2 个时期,将生成一组新的增强图像,然后对于每个步骤,将使用定义数量的图像。因此,如果每个时期使用 3 个步骤,那么将重复 10 张增强图像集中的 5 张图像。