如何为GradientDescentOptimizer设置自适应学习率?

如何为GradientDescentOptimizer设置自适应学习率?,第1张

如何为GradientDescentOptimizer设置自适应学习率?

首先,

tf.train.GradientDescentOptimizer
旨在对所有步骤中的所有变量使用恒定的学习率。TensorFlow还提供了开箱即用的自适应优化器,包括
tf.train.AdagradOptimizer
tf.train.AdamOptimizer
,这些可以用作即插即用的替代品。

但是,如果您希望通过原始的梯度下降来控制学习速率,则可以利用以下事实:构造函数的

learning_rate
参数可以是一个对象。这使您可以在每个步骤中为学习率计算一个不同的值,例如:
tf.train.GradientDescentOptimizer
Tensor

learning_rate = tf.placeholder(tf.float32, shape=[])# ...train_step = tf.train.GradientDescentOptimizer(    learning_rate=learning_rate).minimize(mse)sess = tf.Session()# Feed different values for learning rate to each training step.sess.run(train_step, feed_dict={learning_rate: 0.1})sess.run(train_step, feed_dict={learning_rate: 0.1})sess.run(train_step, feed_dict={learning_rate: 0.01})sess.run(train_step, feed_dict={learning_rate: 0.01})

或者,您可以创建一个

tf.Variable
保存学习率的标量,并在每次要更改学习率时分配它。



欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5021154.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-15

发表评论

登录后才能评论

评论列表(0条)

保存