我正在阅读学习率下降的信息,并认为文档中可能有错误,因此想确认一下。它说衰减方程为:
朽烂学习率=学习率*
衰减率^(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/