我正在阅读学习率下降的信息,并认为文档中可能有错误,因此想确认一下。它说衰减方程为:


  朽烂学习率=学习率*
                          衰减率^(global_step /衰减步数)


但是,如果global_step = 0我猜永远都不会衰减,对吗?但是,请看示例:

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


它的global_step = tf.Variable(0, trainable=False)设置为零。因此,没有衰减。这是正确的推论吗?

我认为将阶梯函数设置为true时,可能会因整数除法而产生警告,但即使在整数除法中,似乎仍然没有衰减。还是对什么楼梯有误解?

最佳答案

变量global_step传递给minimize函数,并且每次运行训练操作learning_step时都会增加。

它甚至写在代码的注释中:


  # Passing global_step to minimize() will increment it at each step.

关于machine-learning - TensorFlow网站上用于降低学习率的示例是否实际上会降低学习率?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38045785/

10-12 20:09