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


Python tf.keras.optimizers.schedules.PiecewiseConstantDecay用法及代码示例


使用分段常数衰减时间表的 LearningRateSchedule。

继承自:LearningRateSchedule

用法

tf.keras.optimizers.schedules.PiecewiseConstantDecay(
    boundaries, values, name=None
)

返回

  • 一个 1-arg 可调用学习率计划,采用当前优化器步骤并输出衰减的学习率,一个标量Tensor与边界张量的类型相同。

    接受 step 的 1-arg 函数的输出是 values[0]step <= boundaries[0] , values[1]step > boundaries[0]step <= boundaries[1] ,...,以及 values[-1] 当 step > boundaries[-1]

参数

  • boundaries Tensor s 或 int s 或 float s 的列表具有严格增加的条目,并且所有元素具有与优化器步骤相同的类型。
  • values Tensorfloatint 的列表,指定由 boundaries 定义的间隔的值。它应该比 boundaries 多一个元素,并且所有元素都应该具有相同的类型。
  • name 一个字符串。操作的可选名称。默认为'PiecewiseConstant'。

抛出

  • ValueError 如果列表中的元素数量不匹配。

当通过当前优化器步骤时,该函数返回一个 1-arg 可调用来计算分段常数。这对于在优化器函数的不同调用中更改学习率值很有用。

示例:前 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.serializetf.keras.optimizers.schedules.deserialize 进行序列化和反序列化。

相关用法


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