【发布时间】:2018-03-21 14:48:16
【问题描述】:
当使用其中一种自适应优化器(Adam 等)时,我们预计在 epoch 内的训练期间连续小批量的学习率会发生变化。 但我想知道连续时期之间的学习率将如何变化 - 它会从前一个时期(预期行为)继续还是从默认值初始化?
当然,术语“速率”是指特定优化器用来确定实际权重更新 wrt 梯度的全部变量)
如果我运行 N 个 epoch 的训练,停止然后继续这样,速率会发生什么变化:
model.fit(data1_train_x,data1_train_y, \
initial_epoch=0, \
epochs=20, \
validation_split=0.1,\
batch_size=64, \
callbacks=[tensorboard])
model.fit(data2_train_x,data2_train_y, \
initial_epoch=20, \
epochs=40, \
validation_split=0.1,\
batch_size=64, \
callbacks=[tensorboard])
我想我会创建回调来记录每个时期之后的速率并绘制它,但在我这样做之前,可能有人已经有了答案。
【问题讨论】:
-
您可以使用已建立的 keras 回调来根据 epoch 数修改您的学习率。尽管我没有尝试过,但您也可以对优化器超参数做同样的事情。
标签: python deep-learning keras tensor