如何检查TensorFlow中重量张量的更新次数?

时间:2018-08-17 10:44:31

标签: python python-3.x tensorflow

我有一个简单的问题。我已经使用tf.get_variable创建了自己的权重。出于调试目的,我需要检查权重已更新了多少次,即优化程序实际上已更新了多少次?

这怎么办?如果您需要我的代码,我可以提供。

1 个答案:

答案 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,但是我认为它目前没有任何作用,因为它只是在给定的会话中运行给定的张量并以整数形式返回其值。