我正在TensorFlow中开始一个交互式会话,在定义了所有我开始训练的变量后,评估网络。
这两个命令有什么区别:
tf.global_variables_initializer().run()
sess.run(tf.initialize_all_variables())
直到今天我使用了第二个命令,但最近我注意到了第一个命令。
谢谢:)
答案 0 :(得分:5)
这两个陈述是等价的:tf.global_variables_initializer()
和tf.initialize_all_variables()
都返回tf.Operation
,在运行时会初始化模型中的全局变量。当您创建sess.run()
或位于operation.run()
区块时,将操作传递到tf.InteractiveSession
或致电with tf.Session():
是等效的。
{@ 1}}函数已被弃用(并将从TensorFlow 1.0中删除),因为它的名称令人困惑:它没有初始化所有变量(即局部变量必须单独初始化,使用tf.initialize_all_variables()
),它不会立即初始化变量(而是返回一个你必须自己运行的操作)。