Tensorflow:tf.initialize_all_variables()与tf.initialize_local_variables()

C. *_*ang 7 tensorflow

我正在查看此示例中的代码:fully_connected_reader.py

我对147行和148行感到困惑:

init_op = tf.group(tf.initialize_all_variables(),
                   tf.initialize_local_variables())
Run Code Online (Sandbox Code Playgroud)

我不知道哪些变量all variables,哪些是local variables.有任何想法吗?

小智 9

tf.initialize_all_variables()是一个快捷方式tf.initialize_variables(tf.all_variables()),tf.initialize_local_variables()是一个快捷方式tf.initialize_variables(tf.local_variables()),分别初始化变量GraphKeys.VARIABLESGraphKeys.LOCAL_VARIABLE集合.

在变量GraphKeys.LOCAL_VARIABLES集合是添加到该图中,但不保存或恢复(变量).

tf.Variable()默认情况下,向GraphKeys.VARIABLE集合添加一个新变量,可以通过collections = argument控制.


Sal*_*ali 5

TF中的局部变量是使用创建的任何变量collections=[tf.GraphKeys.LOCAL_VARIABLES]。例如:

e = tf.Variable(6, name='var_e', collections=[tf.GraphKeys.LOCAL_VARIABLES])
Run Code Online (Sandbox Code Playgroud)

LOCAL_VARIABLES:每台计算机本地的Variable对象的子集。通常用于临时变量,例如计数器。注意:使用tf.contrib.framework.local_variable添加到此集合。

它们通常不保存/恢复到检查点,而是用于临时或中间值。有关更详细的答案,请在此处查看

全局变量通常是您初始化的所有其他变量。


在TF的新版本,你应该使用tf.global_variables_initializer()tf.local_variables_initializer()因为以前的功能进行了否决。