FailedPreconditionError:尝试使用未初始化的值是与张量流相关的最常见错误之一。根据官方文档FailedPreconditionError
当运行一个在初始化之前读取tf.Variable的操作时,通常会引发此异常。
在您的情况下,该错误甚至说明了未初始化的变量: Attempting to use uninitialized value Variable_1
。 TF教程之一解释了很多有关变量的知识,包括变量的创建/初始化/保存/加载。
基本上,初始化变量有3个选项:
- 使用
tf.global_variables_initializer()
初始化所有全局变量 - 使用
tf.variables_initializer(list_of_vars)
初始化您关心的变量。请注意,您可以使用此函数来模拟global_variable_initializer:tf.variable_initializers(tf.global_variables())
- 仅使用
var_name.initializer
初始化一个变量
我几乎总是使用第一种方法。请记住,您应该将其放入会话运行中。因此,您将获得如下内容:
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
如果您对有关变量的更多信息感到好奇,请阅读此文档以了解如何report_uninitialized_variables
并检查is_variable_initialized
。
0
我正在尝试使用张量流中的一些简单模型,包括一个看起来与第一个MNIST for ML Beginners示例非常相似的模型 ,但是具有更大的维度。我能够毫无问题地使用梯度下降优化器,获得足够好的收敛性。当我尝试使用ADAM优化器时,出现如下错误:
抱怨未初始化的特定变量根据运行而变化。这个错误是什么意思?这说明什么是错误的?无论我使用什么学习率,它似乎都会发生。