global_step

Posted pacino12134

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了global_step相关的知识,希望对你有一定的参考价值。

global_step=tf.Variable(0, trainable=False)     

设定trainable=False 可以防止该变量被数据流图的 GraphKeys.TRAINABLE_VARIABLES 收集, 这样我们就不会在训练的时候尝试更新它的值。

train_step = tf.train.GradientDescentOptimizer(learning_rate).minimize(loss,global_step=global_steps)

因为指数衰减的学习率是伴随global_step的变化而衰减的,所以当global_step不改变时,学习率也变成一个定值。

综上所述:损失函数优化器的minimize()中global_step=global_steps能够提供global_step自动加一的操作。

这里有个额外的疑虑说明:global_steps是等号右边,在编程语言里面通常当作定值(即不会受函数影响)赋值给等号左边的global_step。然而,在这个优化器里面能够使得右边的变量自动加一。这确实是编程语言里面少见的,也是需要特别注意的。

以上是关于global_step的主要内容,如果未能解决你的问题,请参考以下文章

tensorflow 梯度裁剪

Tensorflow实现学习率衰减

使用 tf.train.MonitoredTrainingSession 时如何获取全局步长

tensorflow-正则化与指数衰减率

tensorflow API _ 3 (tf.train.polynomial_decay)

当TensorFlow中的学习率下降时,应该何时设置楼梯是真的?