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工作,首席工作人员初始化本地+全球,而其余工作人员只初始化本地。
那么这里最好的做法是什么?对于本地使用,只需调用'init_op'并忘记它?如何知道“隐藏”的本地变量? –
是的,最好的做法是在发布的代码中使用'init_op' –