当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python tf.keras.callbacks.LearningRateScheduler用法及代码示例


学习率调度器。

继承自:Callback

用法

tf.keras.callbacks.LearningRateScheduler(
    schedule, verbose=0
)

参数

  • schedule 一个函数,它将一个时期索引(整数,从 0 开始索引)和当前学习率(浮点数)作为输入,并返回一个新的学习率作为输出(浮点数)。
  • verbose int. 0:安静,1:更新消息。

在每个 epoch 开始时,此回调从 __init__ 提供的 schedule 函数获取更新的学习率值,以及当前 epoch 和当前学习率,并将更新的学习率应用于优化器。

例子:

# This function keeps the initial learning rate for the first ten epochs
# and decreases it exponentially after that.
def scheduler(epoch, lr):
  if epoch < 10:
    return lr
  else:
    return lr * tf.math.exp(-0.1)

model = tf.keras.models.Sequential([tf.keras.layers.Dense(10)])
model.compile(tf.keras.optimizers.SGD(), loss='mse')
round(model.optimizer.lr.numpy(), 5)
0.01
callback = tf.keras.callbacks.LearningRateScheduler(scheduler)
history = model.fit(np.arange(100).reshape(5, 20), np.zeros(5),
                    epochs=15, callbacks=[callback], verbose=0)
round(model.optimizer.lr.numpy(), 5)
0.00607

相关用法


注:本文由纯净天空筛选整理自tensorflow.org大神的英文原创作品 tf.keras.callbacks.LearningRateScheduler。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。