当前位置: 首页 > 面试题库 >

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

汝宏伯
2023-03-14
问题内容

我正在使用TensorFlow训练神经网络。这就是我初始化的方式GradientDescentOptimizer

init = tf.initialize_all_variables()
sess = tf.Session()
sess.run(init)

mse        = tf.reduce_mean(tf.square(out - out_))
train_step = tf.train.GradientDescentOptimizer(0.3).minimize(mse)

这里的问题是,我不知道如何为学习速率设置更新规则或为它设置衰减值。

在这里如何使用自适应学习率?


问题答案:

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

但是,如果您希望通过原始的梯度下降来控制学习速率,则可以利用以下事实:构造函数的learning_rate参数可以是一个对象。这使您可以在每个步骤中为学习率计算一个不同的值,例如:tf.train.GradientDescentOptimizerTensor

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保存学习率的标量,并在每次要更改学习率时分配它。



 类似资料:
  • 图片宽是1920px,高度100px 在大屏幕下显示为这样: 横向不拉伸,两边就会留白 如果铺满屏幕,那么图片会被裁剪 想要实现的效果是图片高度不变,仅横向拉伸铺满屏幕,请问要使用什么属性设置,或者对于这种标题背景使用什么方式解决?

  • 问题内容: 我想知道是否有一种方法可以对Caffe中的不同层使用不同的学习率。我正在尝试修改预训练的模型,并将其用于其他任务。我想要的是加快对新添加的层的培训,并使受过培训的层保持较低的学习率,以防止它们变形。例如,我有一个5转换层的预训练模型。现在,我添加一个新的转换层并对其进行微调。前5层的学习率为0.00001,后5层的学习率为0.001。任何想法如何实现这一目标? 问题答案: 使用2个优化

  • 为了学习如何设计软件,你可以在导师做设计的时候,在他身边学习他的行为。然后学习精心编写过的软件片段(译者注:比如 android 系统中的谷歌官方应用源码)。在这之后,你可以读一些关于最新设计技术的书。 然后你必须自己动手了。从一个小的工程开始,当你最后完成时,考虑为什么这个设计失败了或成功了,你是怎样偏离你最初的设想的。然后继续去着手大一点的工程,在与其他人合作时会更有希望。设计是一种需要花很多

  • 本文向大家介绍学习Android自定义Spinner适配器,包括了学习Android自定义Spinner适配器的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享Android自定义Spinner适配器的相关知识点,供大家参考,具体内容如下 一、大致效果 二.关键代码 在注释中讲重点吧。 (1)Spinner的布局: car_brand_spinner.xml 即为弹出来的下拉列表的布局啦,后

  • 本文向大家介绍echarts学习笔记之图表自适应问题详解,包括了echarts学习笔记之图表自适应问题详解的使用技巧和注意事项,需要的朋友参考一下 前言 为了直观查看公司服务器各个进程占用的内存动态情况,我使用echarts进行数据可视化,具体的实现过程按下不表。 最后实现的效果如图: 然后问题就来了,因UI采用了Bootstrap响应式框架,所以除了图表之外其他都是响应式。当窗口缩小后,就会发生

  • 本文向大家介绍使用Element UI表格如何设置列宽的宽度自适应?相关面试题,主要包含被问及使用Element UI表格如何设置列宽的宽度自适应?时的应答技巧和注意事项,需要的朋友参考一下 https://kuaizi-co.github.io/kz-table/ 列宽自适应