在整个会话中使用恢复的变量会产生“未初始化的值”错误

时间:2018-03-27 18:00:13

标签: tensorflow

我将变量恢复到一个会话中的图形,关闭会话,然后创建一个新会话,我尝试评估图形。这样做时,我收到错误FailedPreconditionError: Attempting to use uninitialized value ...

尝试在第一个会话中评估图表工作正常。

在第二个会话上调用sess.run(tf.global_variables_initializer())“修复”了问题,但它会重置变量的值。

初始恢复使用:

完成
meta_graph_def = meta_graph.read_meta_graph_file(meta_graph_filename)
saver = tf.train.import_meta_graph(meta_graph_def)
sess = tf.Session(target=target, config=config)
saver.restore(sess, save_path)

2 个答案:

答案 0 :(得分:2)

根据https://www.tensorflow.org/programmers_guide/faq

  

变量的生命周期是什么?

     

首次在会话中为该变量运行tf.Variable.initializer操作时,会创建一个变量。它在tf.Session.close。

时被销毁

所以似乎变量不能在Session.close

中使用

答案 1 :(得分:0)

您必须在每个会话中恢复变量。