使用
fit_generator
,您还可以将生成器用于验证数据。通常,我建议使用fit_generator
,但使用train_on_batch
也可以。这些方法只是为了方便起见而存在于不同的用例中,没有“正确”的方法。
train_on_batch
允许您根据所提供的样本集合明确更新权重,而无需考虑任何固定的批次大小。您可以在需要的情况下使用它:训练明确的样本集合。您可以使用该方法在多个传统训练集的批次上维护自己的迭代,但是允许fit
或fit_generator
为您迭代批次可能更简单。
最好使用train_on_batch
一种情况是在一批新的样本上更新预先训练的模型。假设您已经训练和部署了一个模型,并且稍后某个时候您收到了一组以前从未使用过的新训练样本。您可以使用train_on_batch
仅在这些样本上直接更新现有模型。其他方法也可以做到这一点,但是在这种情况下,使用train_on_batch
是相当明确的。
除了像这样的特殊情况(在某些教学原因上,您需要在不同的培训批次之间保持自己的光标,或者在特殊批次上进行某种类型的半在线培训更新)之外,最好始终使用fit
(适用于内存中的数据)或fit_generator
(适用于将成批的数据作为生成器进行流式处理)。
0
train_on_batch()
与fit()
有何不同?在什么情况下应使用train_on_batch()
?