初学tensorflow,看文档说tf.global_variables_initializer()这句话是初始化变量的,不太理解啊,比方说我下面的代码,x变量不是已经初始化成1了吗,为什么后面必须还要加上tf.global_variables_initializer()?
x = tf.Variable(1)
with tf.Session().as_default() as sess:
sess.run(tf.global_variables_initializer())
print(sess.run(x))
tensorflow实际是以graph图表结构的形式运行的,在执行sess.run(传入需要取值的节点)时才去计算该图表某个节点的值,在此之前的操作都是为了构建此graph的结构并没有真正的赋于实际的值。执行variable(1)时也就是只是定义结构(类型为变量,初始值为1)。只有执行变量初始化方法时才赋予其定义的值。