TensorFlow中函数tf.train.get_global_step()
的用途是什么?
在机器学习概念中它与什么相同?
答案 0 :(得分:9)
当训练程序由于某种原因而停止时,您可以使用它来完全重新开始训练。当然,你总是可以在不知道global_step
的情况下重新开始训练(如果你在代码中定期保存检查点),但除非你以某种方式跟踪你已经执行了多少次迭代,否则你将不知道有多少次迭代在重新启动后离开。有时您真的希望您的模型完全按n
次迭代进行训练,而不是n
加unknown 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或将方法最小化以加一。