首页 > 解决方案 > 在循环中调用拟合与批量大小拟合之间有区别吗

问题描述

假设我在内存中有 32 个训练示例(批量大小为 32)。fit在 for 循环中调用 32 次与batch_size=1示例之间是否有区别?还是将所有经验放在一个数组中并调用fit一次但batch_size=32作为参数?结果或性能会有什么不同吗?

标签: machine-learningkerasdeep-learning

解决方案


for i in range(32):
    model.fit(X,y,batch_size=1)

不要以这种方式训练你的模型。!您仅对最后一批进行有效培训(在您的情况下为最后一个样本)

但是,以下方法将向您保证该模型已针对所有样本进行了训练。所以总是这样训练它。

model.fit(X,y,batch_size=32)

如果您考虑使用“for 循环”,因为您无法一次将所有样本放入内存中,您应该尝试 fit_generator 或 fit_on_batch 方法。


推荐阅读