我正在读这个博客

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/

10-12 21:54