我什么时候应该初始化局部变量?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (94)

我有点困惑tf.local_variables_initializer。我不知道什么时候调用。

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()执行。

程序员如何知道何时(或何时不是)初始化这种“隐藏”的局部变量?FIFOQueueinit 不应该是自己的变量还是有像queue.initializer这样的东西?

提问于
用户回答回答于

对于本地tensorflow作业,您需要初始化本地和全局。对于分布式TensorFlow作业,主要工作者初始化本地+全局,而剩余工作者仅初始化本地。

扫码关注云+社区

领取腾讯云代金券