我看到一段代码(太大无法贴在这里),作者使用了model.train_on_batch(in, out)
而不是model.fit(in, out)
。Keras的官方文档中提到:
对一批样本进行单次梯度更新。
但我不太明白。这是否和fit()
一样,只是它不是进行多次前馈和反向传播步骤,而是只进行一次?我是不是理解错了?
回答:
是的,train_on_batch
仅使用单个批次进行一次训练。
而fit
则会对多个批次进行多次训练。(每个批次都会导致权重更新)。
使用train_on_batch
的想法可能是为了在每个批次之间自己做更多的事情。