tf.train.get_global_step()在TensorFlow中做了什么?

时间:2017-02-22 23:56:00

标签: tensorflow

TensorFlow中函数tf.train.get_global_step()的用途是什么? 在机器学习概念中它与什么相同?

3 个答案:

答案 0 :(得分:9)

当训练程序由于某种原因而停止时,您可以使用它来完全重新开始训练。当然,你总是可以在不知道global_step的情况下重新开始训练(如果你在代码中定期保存检查点),但除非你以某种方式跟踪你已经执行了多少次迭代,否则你将不知道有多少次迭代在重新启动后离开。有时您真的希望您的模型完全按n次迭代进行训练,而不是nunknown amount before crash。因此,在我看来,这比理论机器学习概念更具实用性。

答案 1 :(得分:0)

当您定义全局步运算符时,您可以通过sess.run(global_step_op)获取它的值

答案 2 :(得分:0)

tf.train.get_global_step()通过get_collection(tf.GraphKeys.GLOBAL_STEP)get_tensor_by_name('global_step:0')返回全局步长(变量,来自变量节点的张量或无)

全局步长广泛用于学习率衰减(如tf.train.exponential_decay,有关详细信息,请参见Decaying the learning rate)。

您可以将全局步骤传递给优化器apply_gradients或将方法最小化以加一。