【发布时间】:2017-09-24 18:19:14
【问题描述】:
我创建了一个张量流Graph。例如,我可以加载它
with tf.gfile.FastGFile(modelFullPath, 'rb') as f:
graph_def = tf.GraphDef()
graph_def.ParseFromString(f.read())
_ = tf.import_graph_def(graph_def, name='')
将 protobuffer 文件中定义的图形暂时作为默认图形。如果我现在创建一个会话,此图将用作当前图。
尝试将序列化的graph_def 对象保存到一个变量中并启动一个Session as
with tf.Session(graph=graph_def) as sess:
以预期的错误结束
TypeError: graph must be a tf.Graph, but got <class 'tensorflow.core.framework.graph_pb2.GraphDef'>
我有一个用例,我必须在多个图表之间进行更改。使用所提供的方法,我可以清除默认图形并加载新图形,但缺点是必须重复调用导入函数。
问题是,从我的graph.pb,如何获得Graph 对象my_graph,所以可以使用
with tf.Session(graph=my_graph) as sess:
在不从graph.pb 文件中重新加载图表的情况下创建会话?
【问题讨论】:
-
你能告诉我你是怎么做到的吗?
-
@HaraHaraMahadevaki 就像建议的公认答案一样。
-
谢谢...有点慢...有什么办法可以提高速度吗?
标签: python tensorflow