Python 如何将检查点转换为用于模型部署的.pb模型?

Python 如何将检查点转换为用于模型部署的.pb模型?,python,tensorflow,seq2seq,Python,Tensorflow,Seq2seq,我已经在tensorflow上培训了seq2seq语言翻译模型,并将以下文件保存在我的train文件夹中,以检查点的形式保存 translate.ckpt-157450.data-00000-of-00001 translate.ckpt-157450.index translate.ckpt-157450.meta和 检查点文件 现在,我想将其转换为protobuf文件(.pb),以便于部署。以下是我正在使用的一些代码: import tensorflow as tf meta_path

我已经在tensorflow上培训了seq2seq语言翻译模型,并将以下文件保存在我的train文件夹中,以检查点的形式保存

  • translate.ckpt-157450.data-00000-of-00001
  • translate.ckpt-157450.index
  • translate.ckpt-157450.meta和
  • 检查点文件
现在,我想将其转换为protobuf文件(.pb),以便于部署。以下是我正在使用的一些代码:

import tensorflow as tf
meta_path = "/home/i9/L-T_Model_Training/01_Apr_model/train/translate.ckpt-157450.meta"
with tf.Session() as sess:
saver = tf.train.import_meta_graph(meta_path)
saver.restore(sess, tf.train.latest_checkpoint('.'))
output_node_names =[n.name for n in tf.get_default_graph().as_graph_def().node]
frozen_graph = tf.graph_util.convert_variables_to_constants(sess, sess_graph_def, output_node_names)
with open("output_graph.pb", "wb") as f:
    f.write(frozen_graph.SerializeToString())
我正在我的train文件夹中运行此代码。 它向我显示了一个错误:ValueError:当save_path为None时无法加载

我还尝试了freeze_graph.py脚本,但无法获取模型。

我是为一个经过培训的模型而做的,不知道这是否是您的情况

我用相关代码创建了一个

基本上,我做的顺序是:

  • 加载模型
  • 调用build\u trt\u forward\u pass\u graph(这是使其工作的唯一方法)
  • 获取正确的输出节点
  • 修复批处理规范节点
  • 冻结图表
  • 省省吧
  • 如果您有其他想法,请告诉我,如果您尝试过,请与我们分享结果

    关于

    我是为一个受过训练的模特做的,不知道这是否是你的情况

    我用相关代码创建了一个

    基本上,我做的顺序是:

  • 加载模型
  • 调用build\u trt\u forward\u pass\u graph(这是使其工作的唯一方法)
  • 获取正确的输出节点
  • 修复批处理规范节点
  • 冻结图表
  • 省省吧
  • 如果您有其他想法,请告诉我,如果您尝试过,请与我们分享结果


    关于

    可能重复的“是”。。我也尝试了该代码,但没有成功。请尝试:
    saver.restore(sess,'path/to/model.ckpt')
    如何找到模型的输出节点名?您可以使用或尝试回答。可能重复的是。。我也尝试了该代码,但没有成功。请尝试:
    saver.restore(sess,'path/to/model.ckpt')
    如何找到模型的输出节点名?您可以使用或尝试回答。