【问题标题】:FailedPreconditionError tensorflowFailedPreconditionError 张量流
【发布时间】:2017-01-19 20:28:31
【问题描述】:

为什么这个简单的代码会出错?

 inputs = tf.Variable(np.random.rand(2,2))

 tf.global_variables_initializer()     

 with tf.Session() as sess:
      sess.run(tf.reduce_mean(inputs))

它给了我:

FailedPreconditionError (see above for traceback): Attempting to use  uninitialized value Variable_4
 [[Node: Variable_4/read = Identity[T=DT_DOUBLE, _class=["loc:@Variable_4"], _device="/job:localhost/replica:0/task:0/cpu:0"](Variable_4)]]

【问题讨论】:

  • 我什至试过:'tf.variables_initializer([inputs])'

标签: tensorflow


【解决方案1】:

tf.global_variables_initializer() 返回一个您必须执行的操作。这个操作,确实是在初始化全局变量的时候。

因此,将该行更改为:

init_op = tf.global_variables_initializer()

并在会话中执行它。

with tf.Session() as sess:
    sess.run(init_op)

此外,逻辑上最好不要混合图形定义和图形执行。

在会话之外定义图形,然后执行操作。这是您的代码的改进版本。

import tensorflow as tf
import numpy as np

inputs = tf.Variable(np.random.rand(2,2))
init_op =  tf.global_variables_initializer()     

mean_op = tf.reduce_mean(inputs)

with tf.Session() as sess:
    sess.run(init_op)
    mean_value = sess.run(mean_op)
    print(mean_value)

对了,我建议你阅读 tensorflow 入门页面:https://www.tensorflow.org/get_started/

【讨论】:

  • @nessuno..谢谢!
猜你喜欢
  • 2016-06-06
  • 2017-11-05
  • 2017-12-01
  • 2019-08-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-08
  • 2019-01-08
相关资源
最近更新 更多