在 TensorFlow 图中初始化变量

initialize variables in TensorFlow graph

我在 TensorFlow 中开始一个交互式会话,在定义所有变量后我开始训练和评估网络。

这两个命令有什么区别:

  1. tf.global_variables_initializer().run()
  2. sess.run(tf.initialize_all_variables())

直到今天我还使用第二个命令,但最近我注意到了第一个命令。

谢谢:)

这两个语句是等价的:tf.global_variables_initializer() and tf.initialize_all_variables() return 和 tf.Operation 当 运行 时,将初始化模型中的全局变量。当您创建了 tf.InteractiveSession 或位于 with tf.Session(): 块中时,将操作传递给 sess.run() 或调用 operation.run() 是等效的。

tf.initialize_all_variables() 函数已被弃用(并将从 TensorFlow 1.0 中删除),因为它的名称令人困惑:它不会初始化 所有 变量(即局部变量)必须单独初始化,使用 tf.local_variables_initializer()),并且它不会立即初始化变量(相反,它 return 是您必须 运行 自己的操作)。