2016-03-02 75 views
0

我有一些代码会创建一个图形来处理一些图像,然后在循环中迭代sess.run()以获取形状[*,299,299,3]的多批图像张量。然后我想将这些图像输入到初始模型中。Extend中不兼容的GraphDef版本

所以,我添加了一些代码来加载以来模型:

def create_graph(): 
    """"Creates a graph from saved GraphDef file and returns a saver.""" 
    # Creates graph from saved graph_def.pb. 
    print 'Loading graph...' 
    with tf.Session() as sess: 
     with gfile.FastGFile('/web/tensorflow_transfer/resources/classify_image_graph_def.pb', 'rb') as f: 
      graph_def = tf.GraphDef() 
      graph_def.ParseFromString(f.read()) 
      _ = tf.import_graph_def(graph_def, name='') 
    return sess.graph 

g = create_graph() 

for i in range(training_steps): 
    sess.run(...) 

现在即时得到这个错误运行run()时:

File "/usr/local/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 368, in run 
    results = self._do_run(target_list, unique_fetch_targets, feed_dict_string) 
    File "/usr/local/lib/python2.7/site-packages/tensorflow/python/client/session.py", line 420, in _do_run 
    raise RuntimeError(compat.as_text(tf_session.TF_Message(status))) 
RuntimeError: Incompatible GraphDef versions in Extend: 1 != 0 

回答

1

这是最有可能使用太旧版本的TensorFlow读入并运行图形 - 图形是使用GraphDef的新版本创建的。尝试升级到0.7或HEAD,然后再次运行您的代码。

+0

升级到0.7.1解决了这个问题。谢谢! – sthomps