嗨,我不理解keras fit_generator文档。
我希望我的困惑是合理的。有一个批处理大小(batch_size)的概念,也有分批次训练的概念。使用model_fit(),我指定了批处理大小为128。
对我来说,这意味着我的数据集将每次输入128个样本,从而大大减轻内存压力。只要我有时间等待,它就可以训练1亿个样本数据集。毕竟,keras一次只“处理”128个样本。对吧?
但我非常怀疑,仅仅指定批处理大小并不能完全实现我的目标。仍然会使用大量内存。对于我的目标,我需要每次以128个示例进行训练。
所以,我猜这就是fit_generator所做的事情。我真的想问,为什么"batch_size"实际上没有按其名称所建议的那样工作呢?
更重要的是,如果需要fit_generator,我在哪里指定批处理大小?文档说要无限循环。生成器只循环一次。我如何每次循环128个样本,并记住上次停止的位置,下次当keras要求下一个批次的起始行号时,就能够调用它(第一批完成后将是第129行)。