使用tf.GraphKeys

时间:2017-12-20 07:41:55

标签: tensorflow

在tensorflow中,有一个类GraphKeys。我遇到了许多代码,它们已被使用。但是,在tensorflow文档以及使用它的代码中,没有很好地解释这个类的用法。

有人可以解释一下tf.GraphKey的用法吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

据我所知,tf.GraphKeys是图表中变量和操作的键集合的集合。用法(就像常见的python词典一样)是检索变量和操作。

鉴于这一点,这里有tf.GraphKeys的一些子集我遇到过:

  • GLOBAL_VARIABLESLOCAL_VARIABLES包含图表的所有变量,需要在培训之前进行初始化。 tf.global_variables()返回列表中的全局变量,可以与tf.variables_initializer一起用于初始化。
  • 使用选项trainable=True创建的变量将添加到TRAINABLE_VARIABLES,并且会在培训期间由tf.train下的任何优化工具提取和更新。
  • SUMMARIES包含由tf.summaryscalarimagehistogramtext等添加的所有摘要的密钥。 tf.summary.merge_all收集所有这些键并返回一个运行并写入文件的操作,以便您可以在tensorboard上显示它们。
  • 可以将用于更新某些变量的自定义函数添加到UPDATE_OPS,并使用sess.run(tf.get_collection(tf.GraphKeys.UPDATE_OPS))在每次迭代时单独运行。在这种情况下,这些变量设置为trainable=False以避免通过梯度下降进行更新。
  • 您可以使用tf.add_to_collection(some_name, var_or_op)创建自己的集合,然后检索变量或操作。您可以使用tf.get_collection()检索特定变量或操作,并调整scope