显式 tensorflow 会话在 Tensorflow/nmt 中给出获取错误

Posted

技术标签:

【中文标题】显式 tensorflow 会话在 Tensorflow/nmt 中给出获取错误【英文标题】:Explicit tensorflow session gives fetch error in Tensorflow/nmt 【发布时间】:2018-06-03 17:49:16 【问题描述】:

这种 tf.session 工作正常:

with tf.Session(graph=self.infer_model.graph, config=utils.get_config_proto()) as sess:
          loaded_infer_model = model_helper.load_model(self.infer_model.model, self.ckpt, sess, "infer")

但我必须保持持久会话以供重用。因此,我没有通过“with”语句创建 tf.session,而是创建了一个 under:

sess = tf.Session(
            graph=infer_model.graph, config=utils.get_config_proto())
loaded_infer_model = model_helper.load_model(
              infer_model.model, ckpt, sess, "infer")

但这会产生以下错误(在 model_helper.load_model 中):有人可以建议如何加载可以重用的显式会话吗?

文件“/home/pksingh/sans/app/nmt/model_helper.py”,第 444 行,在 load_model session.run(tf.tables_initializer()) 文件 "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", 第 889 行,在运行 run_metadata_ptr) 文件 "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", 第 1103 行,在 _run self._graph 中,获取,feed_dict_tensor, feed_handles=feed_handles) 文件 "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", 第 414 行,在 init self._fetch_mapper = _FetchMapper.for_fetch(fetches) 文件 "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", 第 242 行,在 for_fetch 返回 _ElementFetchMapper(fetches, 收缩_fn)文件 "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", 第 278 行,在 init 'Tensor. (%s)' % (fetch, str(e))) ValueError: Fetch 论据不能 解释为张量。 (操作名称:“init_all_tables”操作:“NoOp” 不是该图的元素。)

【问题讨论】:

【参考方案1】:

达到相同目的的最佳选择是使用交互式会话。您可以像这样初始化一个交互式会话:

sess = tf.InteractiveSession()

访问link了解更多详情。

【讨论】:

以上是关于显式 tensorflow 会话在 Tensorflow/nmt 中给出获取错误的主要内容,如果未能解决你的问题,请参考以下文章

模块“tensorflow”没有属性“GPUOptions”

关于tensorFlow的一些概念!

对比深度学习十大框架:TensorFlow 并非最好?

tensorflow 调试模块tfdbg

Win10上安装TensorFlow(官方文档翻译)

TensorBoard的使用(结合线性模型)