Tensorflow:你在Adam和Adagrad中设置的学习率是初始学习率吗?

2024-09-28 21:58:59 发布

您现在位置:Python中文网/ 问答频道 /正文

我在看这个博客

https://smist08.wordpress.com/2016/10/04/the-road-to-tensorflow-part-10-more-on-optimization/

其中提到了tensorflow的所有学习率

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文档,但它没有指定这一点。在


Tags: httpsratetftensorflowstepwordpresstrainglobal
1条回答
网友
1楼 · 发布于 2024-09-28 21:58:59

简短的回答:

除了你的第一行,其余的都是自适应梯度下降优化器,这意味着他们会根据每一步的某些条件自动调整学习率。所以你给出的学习率只是用来初始化。在

AdamOptimizer为例,您可以在article中了解其详细信息。在

相关问题 更多 >