tensorflow初始化变量问题?

初学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))
阅读 8k
1 个回答

tensorflow实际是以graph图表结构的形式运行的,在执行sess.run(传入需要取值的节点)时才去计算该图表某个节点的值,在此之前的操作都是为了构建此graph的结构并没有真正的赋于实际的值。执行variable(1)时也就是只是定义结构(类型为变量,初始值为1)。只有执行变量初始化方法时才赋予其定义的值。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进