2017-07-25 11 views
0

org.tensorflowを使用する:tensorflow:1.3.0-rc0。SavedModelBundleを使用してJavaで開始モデルv3を処理する

私はチュートリアルhttps://tensorflow.github.io/serving/serving_inceptionごとにチェックポイントから開始モデルを生成した:

inception_saved_model --checkpoint_dir=/root/xmod/inception-v3 

これはOKに行って、データをsaved_model.pbと変数/サブディレクトリを生成し、私はにすべてこのコンテンツを移動/ tmp/inception-modelディレクトリにあります。 今私は基本的に私はエラーなしで、このようなモデルをロードしていますhttps://github.com/tensorflow/tensorflow/blob/master/tensorflow/java/src/main/java/org/tensorflow/examples/LabelImage.java を変換することによって、このモデルを使用しようとしている:

SavedModelBundle modelBundle = SavedModelBundle.load("/tmp/inception-model", "serve"); 

は、今私は(これhttps://github.com/tensorflow/tensorflow/blob/master/tensorflow/java/src/main/java/org/tensorflow/examples/LabelImage.java#L112に類似)のクエリを策定しようとしていますが、私は」フィードを使用してメソッドを取得する方法を見つけようとしています:

private static float[] executeInceptionGraph(SavedModelBundle modelBundle, Tensor image) throws Exception { 
    Tensor result = modelBundle.session().runner().feed(???).fetch(???).run().get(0); 

このクエリの書き方については、どのように助けてもらえますか?

+0

[セッションランナーのjavadoc](https://www.tensorflow.org/api_docs/java/reference/org/tensorflow/Session.Runner)を読んだことがありますか? –

答えて

0

グラフのノード名に関連する入力(ここではテンソル画像)を入力する必要があります。投稿したリンクから、チュートリアルで「画像」を使用しているようです(https://github.com/tensorflow/serving/blob/master/tensorflow_serving/example/inception_client.py#L49、pythonチュートリアルhttps://tensorflow.github.io/serving/serving_inceptionで構築されたサーバーへのクエリ)。 出力ノードを名前でフェッチして、サーバー応答のサンプルを確認してください。https://tensorflow.github.io/serving/serving_inceptionあなたは持っているものに応じて "クラス"または "得点"を得ることができます。

だから2つのコマンドの一つが動作するはずです:

Tensor result = modelBundle.session().runner().feed("images", image).fetch("classes").run().get(0); 

OR

Tensor result = modelBundle.session().runner().feed("images", image).fetch("scores").run().get(0); 
関連する問題