如何解决在 ImageDataGenerator 中,数据是在每个批次还是每个时期中增加的?
我知道在每个时代我们都有一组新的增强。但我的问题是,如果我们总共有 10 个样本图像 batch_size = 5
,并且我们采用了 steps_per_epoch = 3
而不是 2 个,那么我们将在每个时期传递 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 个 epoch,它将增强所有 10 个图像以生成 10 个增强图像,然后选择 1-5 个增强图像用于第 1 步训练。这意味着用于训练的数据由时代定义。在第 1 个时期的第 2 步中,将使用下一组增强图像,即 6-10。
在第 2 个 epoch 中,将生成一组新的增强图像,然后对于每个步骤,将使用定义数量的图像。因此,如果您每个 epoch 使用 3 个步骤,那么将重复 10 张增强图像集中的 5 张图像。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。