Python 什么时候我必须在Tensorflow中初始化变量?
我试图理解张量流,以及如何理解它,首先要创建操作和变量,将它们添加到图形中,然后在会话中执行这些操作。 那么为什么在这段代码中我不必使用initialize_all_variables()方法呢? 我试图添加Python 什么时候我必须在Tensorflow中初始化变量?,python,tensorflow,Python,Tensorflow,我试图理解张量流,以及如何理解它,首先要创建操作和变量,将它们添加到图形中,然后在会话中执行这些操作。 那么为什么在这段代码中我不必使用initialize_all_variables()方法呢? 我试图添加init=tf.initialize\u all_variables(),然后添加sess.run(init),但这是错误的。为什么在没有初始化的情况下可以工作 import tensorflow as tf import numpy as np x = tf.placeholder('f
init=tf.initialize\u all_variables()
,然后添加sess.run(init)
,但这是错误的。为什么在没有初始化的情况下可以工作
import tensorflow as tf
import numpy as np
x = tf.placeholder('float', [2,3])
y = x*2
z = tf.Variable([[1,1,1],[1,1,1]], name = "z")
with tf.Session() as sess:
x_data = np.arange(1,7).reshape((2,3))
z.assign(x_data)
res = sess.run(y, feed_dict = {x:x_data})
print(res.dtype, z.dtype, z.get_shape())`
不允许读取未初始化的值。在上述情况下,您没有读取
z
,因此不需要对其进行初始化
如果查看variables.py
可以看到initialize\u all\u variables是一个连接到所有初始化器的组节点
def initialize_variables(var_list, name="init"):
...
return control_flow_ops.group(
*[v.initializer for v in var_list], name=name)
查看z.initializer
,您可以看到它是一个Assign
节点。因此,在TensorFlow中计算tf.初始化所有变量
与在z.赋值(…