執行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()]
)