我正在读这个博客
https://smist08.wordpress.com/2016/10/04/the-road-to-tensorflow-part-10-more-on-optimization/
提到所有张量流的学习率
optimizer = tf.train.GradientDescentOptimizer(learning_rate).minimize(loss, global_step=global_step)
optimizer = tf.train.AdadeltaOptimizer(starter_learning_rate).minimize(loss)
optimizer = tf.train.AdagradOptimizer(starter_learning_rate).minimize(loss) # promising
optimizer = tf.train.AdamOptimizer(starter_learning_rate).minimize(loss) # promising
optimizer = tf.train.MomentumOptimizer(starter_learning_rate, 0.001).minimize(loss) # diverges
optimizer = tf.train.FtrlOptimizer(starter_learning_rate).minimize(loss) # promising
optimizer = tf.train.RMSPropOptimizer(starter_learning_rate).minimize(loss) # promising
它说您输入的学习率只是入门学习率。这是否意味着如果您在培训过程中更改学习率,那么该更改将不会生效,因为它不再使用入门学习率了?
我尝试查看API文档,但未指定。
最佳答案
一个简短的答案:
除了第一行,其余都是自适应梯度下降优化器,这意味着它们将在每一步中根据某些条件自动调整学习率。因此,您给出的学习率仅用于初始化。
以AdamOptimizer
为例,您可以在article中了解其详细信息。
关于python - Tensorflow:您在Adam和Adagrad中设置的学习率仅仅是初始学习率吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51144993/