我想更详细地了解一下tf.global_variables_initializer
的作用。
一个sparse description is given here:
返回初始化全局变量的Op。
但这对我没有帮助。我知道op是初始化图形所必需的,但这究竟意味着什么?这是图表编译的步骤吗?
答案 0 :(得分:25)
给出了更完整的描述here。
只有在会话中运行tf.global_variables_initializer()
后,您的变量才会保留您在声明它们时告诉他们要保留的值(tf.Variable(tf.zeros(...))
,tf.Variable(tf.random_normal(...))
,...)。
来自TF doc:
调用tf.Variable()会向图表中添加几个操作:
- 包含变量值的变量op。
- 初始值设定器op,用于将变量设置为其初始值。这实际上是一个tf.assign op。
- 初始值的操作,例如示例中偏差变量的零操作也会添加到图表中。
还有:
变量初始值设定项必须在您的其他操作之前显式运行 模型可以运行。最简单的方法是添加一个运行的操作 所有变量初始值设定项,并在使用模型之前运行该操作。