我正在审核此示例中的代码:fully_connected_reader.py
我对第147行和第148行感到困惑:
init_op = tf.group(tf.initialize_all_variables(),
tf.initialize_local_variables())
我不知道哪些变量是all variables
,哪些是local variables
。有什么想法吗?
答案 0 :(得分:8)
tf.initialize_all_variables()
是tf.initialize_variables(tf.all_variables())
的快捷方式,tf.initialize_local_variables()
是tf.initialize_variables(tf.local_variables())
的快捷方式,用于初始化GraphKeys.VARIABLES
和GraphKeys.LOCAL_VARIABLE
个集合中的变量,分别
GraphKeys.LOCAL_VARIABLES
集合中的变量是添加到图表中但未保存或恢复的变量(source)。
tf.Variable()
会向GraphKeys.VARIABLE
集合添加一个新变量,该变量可由collections = argument控制。
答案 1 :(得分:3)
TF中的局部变量是使用collections=[tf.GraphKeys.LOCAL_VARIABLES]
创建的任何变量。例如:
e = tf.Variable(6, name='var_e', collections=[tf.GraphKeys.LOCAL_VARIABLES])
LOCAL_VARIABLES:每个都是本地的Variable对象的子集 机。通常用于临时变量,如计数器。注意: 使用tf.contrib.framework.local_variable添加到此集合。
它们通常不会保存/恢复到检查点,并用于临时或中间值。有关更详细的答案,请查看here。
全局变量主要是由您初始化的所有其他变量。
在TF的新版本中,您应该使用tf.global_variables_initializer()
,tf.local_variables_initializer()
,因为之前的功能已被弃用。
答案 2 :(得分:0)
收集全局变量对象的密钥(跨机器共享)。所有变量的默认集合,本地变量除外。
用于收集机器本地且未保存/恢复的本地变量的密钥。