我有一个简单的问题。我已经使用tf.get_variable
创建了自己的权重。出于调试目的,我需要检查权重已更新了多少次,即优化程序实际上已更新了多少次?
这怎么办?如果您需要我的代码,我可以提供。
答案 0 :(得分:1)
通常在TensorFlow中称为“全局步骤”,它具有一些辅助功能:
global_step = tf.train.create_global_step()
optimizer.minimize(loss, global_step=global_step)
tf.train.get_global_step
实际上只是创建了一个变量,但要确保它不是可训练的并将其添加到正确的集合中。您也有tf.train.get_global_step
,因此可以做到:
optimizer.minimize(loss, global_step=tf.train.create_global_step())
然后在代码的其他位置检索张量,如:
global_step = tf.train.get_global_step()
此外,如果不确定图形定义的哪一部分排在最前面,可以使用tf.train.get_or_create_global_step
。
还有一个函数tf.train.global_step
,但是我认为它目前没有任何作用,因为它只是在给定的会话中运行给定的张量并以整数形式返回其值。