tf.compat.v1.train.exponential_decay用法

tf.compat.v1.train.exponential_decay:将指数衰减应用于学习率。

tf.compat.v1.train.exponential_decay(
    learning_rate, global_step, decay_steps, decay_rate, staircase=False, name=None
)

训练模型时,通常建议随着训练的进行降低学习率。此函数将指数衰减函数应用于提供的初始学习率。它需要一个global_step值来计算衰减的学习率。您只需传递一个TensorFlow变量,即可在每个训练步骤中增加该变量。

该函数返回衰减的学习率。计算公式为:

decayed_learning_rate = learning_rate *
                        decay_rate ^ (global_step / decay_steps)

如果参数staircaseTrueglobal_step / decay_steps则为整数除法,并且学习率的下降遵循阶梯函数。

示例:以0.96为基础,每100000步衰减一次:

...
global_step = tf.Variable(0, trainable=False)
starter_learning_rate = 0.1
learning_rate = tf.compat.v1.train.exponential_decay(starter_learning_rate,
                                                 global_step,100000, 0.96, staircase=True)
# Passing global_step to minimize() will increment it at each step.
# 其中it指的是global_step
learning_step = (
    tf.compat.v1.train.GradientDescentOptimizer(learning_rate)
    .minimize(...my loss..., global_step=global_step)
)

Args

learning_rate一个float32float64的标量Tensor或者一个Python数。初始学习率。
global_step一个int32int64的标量Tensor或者一个Python数。全局步骤用于衰减计算。不能为负。
decay_steps一个int32int64的标量Tensor或者一个Python数。必须是正的。参见上面的衰减计算。
decay_rate一个float32float64的标量Tensor或者一个Python数。衰减率。
staircase布尔值。如果True以离散间隔衰减学习率
name字符串。操作的可选名称。默认为'ExponentialDecay'。

Returns

learning_rate类型相同的标量Tensor。衰减的学习率。 

Raises

ValueError如果global_step未提供。 

Eager Compatibility

启用急切执行后,此函数返回一个函数,该函数又返回衰减的学习率Tensor。这对于在优化器函数的不同调用之间更改学习率值很有用。

 

 

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值