train_on_batch()在keras模型中做了什么?

Cer*_*ope 3 python artificial-intelligence machine-learning keras tensorflow

所以我看到了一个代码示例(太大而不能粘贴在这里),model.train_on_batch(in, out)而不是使用作者model.fit(in, out).keras的官方文件说:

对一批样品进行单梯度更新.

但我不明白.它是否与fit()相同,但它没有做很多前馈 - backprop,它只执行一次?还是我错了?请解释.

Dan*_*ler 7

是的,train_on_batch只使用一个批次和一次.

虽然fit为许多时期训练许多批次.(每批导致权重更新).

使用的想法train_on_batch可能是在每批之间自己做更多事情.

  • 如果数据不适合内存,则将使用:1-如果问题出在模型中,请使用较小的批次// //-如果问题是总的numpy数组,请使用generator和`fit_generator`。如果要在批次之间手动执行操作,请仅使用“ train_on_batch”。 (2认同)