Tensorflow:model_with_buckets 模型中 freeze_graph.py 的 "output_node_names" 是什么?
Tensorflow: What are the "output_node_names" for freeze_graph.py in the model_with_buckets model?
我用 seq2seq = tf.nn.seq2seq.embedding_attention_seq2seq
训练了一个 tf.nn.seq2seq.model_with_buckets
与 Tensorflow Tutorial 中的示例非常相似。
现在我想使用 freeze_graph.py
冻结图表。如何在我的模型中找到 "output_node_names"?
您可以通过将可选的 name="myname"
参数传递给几乎所有构建节点的 Tensorflow 运算符来为模型中的节点选择名称。如果你不指定它们,Tensorflow 会自动为图节点选择名称,但如果你想用 freeze_graph.py 之类的工具识别这些节点,那么最好自己选择名称。这些名称是您传递给 output_node_names.
的名称
您可以通过以下方式获取模型中的所有节点名称:
node_names = [node.name for node in tf.get_default_graph().as_graph_def().node]
或恢复图形:
saver = tf.train.import_meta_graph(/path/to/meta/graph)
sess = tf.Session()
saver.restore(sess, /path/to/checkpoints)
graph = sess.graph
print([node.name for node in graph.as_graph_def().node])
您可能需要过滤这些以仅获取您的输出节点,或仅获取您想要的节点,但这至少可以帮助您获取您已经训练过且无力重新训练的图的名称name='some_name'
为每个节点定义。
理想情况下,您希望为稍后要访问的每个操作或张量定义一个 name
参数。
我用 seq2seq = tf.nn.seq2seq.embedding_attention_seq2seq
训练了一个 tf.nn.seq2seq.model_with_buckets
与 Tensorflow Tutorial 中的示例非常相似。
现在我想使用 freeze_graph.py
冻结图表。如何在我的模型中找到 "output_node_names"?
您可以通过将可选的 name="myname"
参数传递给几乎所有构建节点的 Tensorflow 运算符来为模型中的节点选择名称。如果你不指定它们,Tensorflow 会自动为图节点选择名称,但如果你想用 freeze_graph.py 之类的工具识别这些节点,那么最好自己选择名称。这些名称是您传递给 output_node_names.
您可以通过以下方式获取模型中的所有节点名称:
node_names = [node.name for node in tf.get_default_graph().as_graph_def().node]
或恢复图形:
saver = tf.train.import_meta_graph(/path/to/meta/graph)
sess = tf.Session()
saver.restore(sess, /path/to/checkpoints)
graph = sess.graph
print([node.name for node in graph.as_graph_def().node])
您可能需要过滤这些以仅获取您的输出节点,或仅获取您想要的节点,但这至少可以帮助您获取您已经训练过且无力重新训练的图的名称name='some_name'
为每个节点定义。
理想情况下,您希望为稍后要访问的每个操作或张量定义一个 name
参数。