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"。返回
一个单参数可调用学习率调度,它接受当前优化器步数并输出衰减的学习率,这是一个与边界张量类型相同的标量张量。
接受 step 的单参数函数的输出是:当 step <= boundaries[0] 时为 values[0],当 step > boundaries[0] 且 step <= boundaries[1] 时为 values[1],依此类推,当 step > boundaries[-1] 时为 values[-1]。
引发
boundaries 和 values 列表中的元素数量不匹配。