【发布时间】:2026-02-03 22:45:01
【问题描述】:
在 Keras 预处理 ImageDataGenerator 模块中,flow_from_directory 方法用于从包含图像子目录的目录创建迭代器。迭代器无限期地运行,创建批量图像。我的问题是,它是否遍历每个时代的每个样本?
例如,如果我总共有 300 张图像,并且我的批量大小为 30,如果我执行 10 步,它是否会遍历每个样本一次?还是每一步都是来自整个数据集的独立随机样本?如果我们确实遍历每个样本,当我的样本大小不能被批量大小整除(如 304 个图像)时会发生什么?在第 11 步,迭代器是否知道先获取最后 4 个样本,然后从整个数据集中获取另外 26 个样本?
【问题讨论】:
-
你找到答案了吗?因为正如我现在看到的,如果 batch_size 很小,steps_per_epoch 也很小,并且目录中有很多样本,它就不能正确训练。我认为它不会遍历 epoch 中的每个样本。
标签: python tensorflow keras