tensorflow - tensorflow 失败前提条件错误

标签 tensorflow

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

 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.global_variables_initializer() 返回您必须执行的操作。这个操作确实是在初始化全局变量的时候进行的。

因此,将该行更改为:

init_op = tf.global_variables_initializer()

并在 session 中执行它。

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

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

在 session 外部定义图形,然后执行操作。这是代码的改进版本。

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/

关于tensorflow - tensorflow 失败前提条件错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41751100/

相关文章:

tensorflow - 将 Pytorch 程序翻译成 Keras : different results

tensorflow - 我可以使用 conv2d 和张量操作等现有操作在 python 中的 tensorflow 中编写自定义层吗?

c++ - 使用tensorflow C++的OpenGL程序对cuInit的调用失败: CUDA_ERROR_OUT_OF_MEMORY

tensorflow - 如何使张量具有四维?

python - tensorflow 2.0 中是否有 cudnnLSTM 或 cudNNGRU 替代方案

python - 如何为 TensorFlow 中的不同层或变量设置不同的学习率?

python - 在 TensorFlow 中定义成本/损失函数

tensorflow - 如何将大 float 保存为 TFRecord 格式? float_list/float32 似乎截断了值

tensorflow - 在 TensorFlow 中使用多个输入管道

tensorflow - 序列元素打乱后的奇怪序列分类性能