我正在尝试从检查点文件加载先前训练的张量训练模型,现在这些检查点文件中有操作变量,因此要加载图形我必须首先从 **ckpt.meta 文件加载 graph_def:
graph = tf.Graph()
sess = tf.InteractiveSession(graph=graph)
saver = tf.train.import_meta_graph('/data/model_cache/model.ckpt-39.meta')
ckpt = tf.train.get_checkpoint_state(FLAGS.checkpoint_dir)
if ckpt and ckpt.model_checkpoint_path:
if os.path.isabs(ckpt.model_checkpoint_path):
saver.restore(sess, ckpt.model_checkpoint_path)
在我加载了模型之后,我有一个方法可以使用这个模型进行推理来实现deep-dream algo 。问题是当我使用默认会话调用 eval 时,出现以下错误:
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 555, in eval
return _eval_using_default_session(self, feed_dict, self.graph, session)File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework /ops.py", line 3495, in _eval_using_default_session
raise ValueError("Cannot use the given session to evaluate tensor: "
ValueError: Cannot use the given session to evaluate tensor: the tensor's graph is different from the session's graph.
我已经确认 tf.get_default_graph() 和 sess.graph 指向相同的内存地址。我必须缺少一些非常基本的东西。
我是 tensorflow 的新手,所以在这方面的任何帮助将不胜感激。谢谢