PiecewiseConstantDecay
类tf_keras.optimizers.schedules.PiecewiseConstantDecay(boundaries, values, name=None)
一种使用分段常数衰减调度的学习率调度。
该函数返回一个 1 参数的可调用对象,用于在传递当前优化器步骤时计算分段常数。这对于在优化器函数的不同调用中更改学习率值很有用。
示例
使用一个学习率,在最初的 100001 步为 1.0,接下来的 10000 步为 0.5,以及之后的所有步骤为 0.1。
step = tf.Variable(0, trainable=False)
boundaries = [100000, 110000]
values = [1.0, 0.5, 0.1]
learning_rate_fn = keras.optimizers.schedules.PiecewiseConstantDecay(
boundaries, values)
# Later, whenever we perform an optimization step, we pass in the step.
learning_rate = learning_rate_fn(step)
您可以将此调度程序直接传递给 tf.keras.optimizers.Optimizer
作为学习率。学习率调度程序还可以使用 tf.keras.optimizers.schedules.serialize
和 tf.keras.optimizers.schedules.deserialize
进行序列化和反序列化。
返回值
一个 1 参数的可调用学习率调度程序,它接受当前优化器步骤并输出衰减后的学习率,一个与边界张量类型相同的标量 Tensor
。
当 step <= boundaries[0]
时,接受 step
的 1 参数函数的输出为 values[0]
;当 step > boundaries[0]
且 step <= boundaries[1]
时,输出为 values[1]
;...;当 step > boundaries[-1]
时,输出为 values[-1]
。