无法加载预训练模型

时间:2017-10-04 13:21:07

标签: python machine-learning tensorflow neural-network chatbot

训练我的模型近2天后,生成了3个文件:

best_model.ckpt.data-00000-of-00001
best_model.ckpt.index
best_model.ckpt.meta

其中best_model是我的型号名称。 当我尝试使用以下命令导入我的模型时

with tf.Session() as sess:
  saver = tf.train.import_meta_graph('best_model.ckpt.meta')
  saver.restore(sess, "best_model.ckpt")

我收到以下错误

Traceback (most recent call last):

File "<stdin>", line 2, in <module>
File "/home/shreyash/.local/lib/python2.7/site-

packages/tensorflow/python/training/saver.py", line 1577, in 
import_meta_graph
    **kwargs)
  File "/home/shreyash/.local/lib/python2.7/site-

packages/tensorflow/python/framework/meta_graph.py", line 498, in import_scoped_meta_graph
    producer_op_list=producer_op_list)

File "/home/shreyash/.local/lib/python2.7/site-packages/tensorflow/python/framework/importer.py", line 259, in import_graph_def
    raise ValueError('No op named %s in defined operations.' % node.op)

ValueError: No op named attn_add_fun_f32f32f32 in defined operations.

如何解决这个问题?

我已经推荐过这篇文章:TensorFlow, why there are 3 files after saving the model?

  • 使用pip安装Tensorflow版本1.0.0
  • Linux版本16.04
  • python 2.7

1 个答案:

答案 0 :(得分:1)

导入器无法在图表中找到非常具体的功能,即attn_add_fun_f32f32f32,可能是one of attention functions

可能你已经进入this issue了。但是,他们说它捆绑在tensorflow 1.0中。仔细检查已安装的tensorflow版本是否包含attention_decoder_fn.py(或者,如果您使用的是其他库,请检查它是否存在)。

如果有,请选择以下选项:

  • Rename this operation,如果可能的话。您可能需要阅读this discussion了解解决方法。
  • 复制图表定义,以便您不必调用import_meta_graph,但将模型恢复到当前图表中。