在keras.models.Model.fit
中什么是”epoch”?它是一个梯度更新吗?如果它不止一个梯度更新,那么什么定义了一个epoch?
假设我正在向fit
提供自己的批次。我会将”epoch”视为处理完整个训练集(这是正确的吗)?那么如何控制keras以这种方式运行?我可以将batch_size
设置为x
和y
的大小,并将epochs
设置为1吗?
回答:
这是Keras 文档中对epoch的定义:
Epoch:一个任意的截止点,通常定义为“遍历整个数据集一次”,用于将训练划分为不同的阶段,这对于日志记录和定期评估很有用。
换句话说,epoch的数量意味着你遍历训练集的次数。
每次处理一个批次时,模型都会被更新,这意味着在一个epoch中模型可以被更新多次。如果batch_size
设置为x
的长度,那么模型将在每个epoch中更新一次。