PiecewiseConstantDecay
类keras.optimizers.schedules.PiecewiseConstantDecay(
boundaries, values, name="PiecewiseConstant"
)
一种使用分段常数衰减调度的 LearningRateSchedule
。
该函数返回一个接受当前优化器步骤作为参数的可调用对象,用于计算分段常数。这对于在优化器函数不同调用之间更改学习率值很有用。
示例
对于前 100001 个步骤,学习率为 1.0;对于接下来的 10000 个步骤,学习率为 0.5;对于任何额外的步骤,学习率为 0.1。
step = ops.array(0)
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)
您可以将此调度直接作为学习率传递给 keras.optimizers.Optimizer
。学习率调度也可以使用 keras.optimizers.schedules.serialize
和 keras.optimizers.schedules.deserialize
进行序列化和反序列化。
参数
boundaries
定义的区间的值。它的元素数量应比 boundaries
多一个,并且所有元素应具有相同的类型。"PiecewiseConstant"
。返回
一个接受当前优化器步骤并输出衰减学习率(与边界张量类型相同的标量张量)的 1 参数可调用学习率调度。
接受 step
的 1 参数函数的输出是:当 step <= boundaries[0]
时为 values[0]
;当 step > boundaries[0]
且 step <= boundaries[1]
时为 values[1]
;...;当 step > boundaries[-1]
时为 values[-1]
。
引发
boundaries
和 values
列表中的元素数量不匹配。