执行tensorflow程序时报错:
tensorflow.python.framework.errors_impl.FailedPreconditionError: Attempting to use uninitialized value matching_filenames
[[Node: matching_filenames/read = Identity[T=DT_STRING, _device="/job:localhost/replica:0/task:0/device:CPU:0"](matching_filenames)]]
因为:Tensorflow中,所有变量都必须初始化才能使用。
初始化所有变量:
with tf.Session() as sess:
sess.run( tf.global_variables_initializer() )
如果已经写了这句话,但还是报上述错误,说明程序中某些函数内存在局部变量,并没有被初始化到。例如使用match_filenames_once获取文件列表时,需要用local_variables_initializer初始化一些变量。
sess.run(
[tf.global_variables_initializer(),
tf.local_variables_initializer()]
)