2017-07-10 16 views
1

hereのようにTensorFlow Object Detection APIを使用してSSDを訓練しました。それは、ckpt、メタ、およびインデックスファイルを生成します。私のイメージ上でそれを実行するために、私はデモコードをチェックしようとしました。モデルをフリーズしたグラフに変換する必要があります。私はhereのように凍った推論グラフに私のモデルを変換しようとしました。そのプログラムでは、出力ノード名を指定する必要があります。 SSDモデルのノードの名前はここでは分かりません。助けてください。SSDをテンソルフローでフリーズしたグラフに変換します。どの出力ノード名を使用する必要がありますか?

てAssertionError:A Tool Developer's Guide to TensorFlow Model Filesとノード名を検索:num_detectionsグラフ

答えて

2

Tensorflow Object Detection APIのフリーズグラフに変換する特別なツールがあります。export_inference_graph.pyバイナリを実行するだけです。このツールの使用方法はhereです。

0

にあなたが自己でグラフを探索することができないだけエラーを取得するなど:「0 detection_boxes」:私は「0 num_detections」を試してみました。私は私のモデルからサンプルを与えることができます: "prefix/digit1/Softmax:0"(私のケラスモデルでは "digit1"でした) また、これらの名前のリストをtransform_graphユーティリティ( " - 出力"パラメータ)。

+0

ありがとう: 「プレースホルダ」と「アイデンティティ」は入力と出力ノードを見つけることが面白いように見えます。 –

0

私はこの小さなpythonスクリプトを使って、その操作に基づいてノードをローカライズしています。ポインタのための

import tensorflow as tf 

NODE_OPS = ['Placeholder','Identity'] 
MODEL_FILE = '/path/to/frozen_inference_graph.pb' 

gf = tf.GraphDef() 
gf.ParseFromString(open(MODEL_FILE,'rb').read()) 

print([n.name + '=>' + n.op for n in gf.node if n.op in (NODE_OPS)]) 
関連する問題