PiecewiseConstantDecay
classkeras.optimizers.schedules.PiecewiseConstantDecay(
boundaries, values, name="PiecewiseConstant"
)
一个使用分段常数衰减调度表的 LearningRateSchedule
.
该函数返回一个接受当前优化器步骤的1参数可调用对象,用于计算分段常数衰减. 这在不同的优化器函数调用中改变学习率值时非常有用.
示例:使用一个在前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)
# 稍后,每当我们执行优化步骤时,我们传入步骤.
learning_rate = learning_rate_fn(step)
你可以将此调度表直接传递给 keras.optimizers.Optimizer
作为学习率.
学习率调度表也可以使用 keras.optimizers.schedules.serialize
和
keras.optimizers.schedules.deserialize
进行序列化和反序列化.
参数:
boundaries: 一个严格递增的Python数字列表,所有元素的类型与优化器步骤相同.
values: 一个Python数字列表,指定由 boundaries
定义的区间值.
它应该比 boundaries
多一个元素,所有元素应具有相同的类型.
name: 一个字符串.操作的可选名称.默认为 "PiecewiseConstant"
.
返回: 一个1参数可调用的学习率调度表,接受当前优化器步骤并输出衰减的学习率, 一个与边界张量类型相同的标量张量.
1参数函数的输出,当 `step <= boundaries[0]` 时为 `values[0]`,
当 `step > boundaries[0]` 且 `step <= boundaries[1]` 时为 `values[1]`,
..., 当 `step > boundaries[-1]` 时为 `values[-1]`.
引发:
ValueError: 如果 boundaries
和 values
列表中的元素数量不匹配.