TensorFlow:何时初始化局部变量

问题描述:

我有点困惑tf.local_variables_initializer,我不知道什么时候调用它。TensorFlow:何时初始化局部变量

我在其他国家的人民代码中看到,他们只是涂满像

init_op = tf.group(
        tf.global_variables_initializer(), 
        tf.local_variables_initializer() 
     ) 

调用应该init_op只是在每一个TF程序调用?这是“懒惰”的TF编程风格吗?

作为一个例子,考虑指定为像input_string_producer队列:

tf.input_string_producer(file_list,num_epochs=None) 

不需要tf.local_variables_initializer()

但是,指定实际数量历元的

tf.input_string_producer(file_list,num_epochs=1) 

时事实上确实要求执行tf.local_variables_initializer()

用户/程序员如何知道何时和/或何时不初始化这些“隐藏的”局部变量?不应该FIFOQueue初始化它自己的变量或有像queue.initializer?

对于本地张量作业,您需要初始化本地和全局。对于分布式TensorFlow工作,首席工作人员初始化本地+全球,而其余工作人员只初始化本地。

+0

那么这里最好的做法是什么?对于本地使用,只需调用'init_op'并忘记它?如何知道“隐藏”的本地变量? –

+0

是的,最好的做法是在发布的代码中使用'init_op' –