2016-09-04 2 views
5

Tensorflow Android demoは、TensorFlowグラフを使用するAndroidアプリを構築するための適切な基盤を提供していますが、画像分類を行わないアプリのためにその用途を変える方法に固執しています。それはInceptionグラフの.pbファイルからロードされ、それを使用して推論を実行します(コードはそのように仮定します)。しかし、私がしたいのは、自分のグラフを.pbファイルからロードすることです)、グラフの入出力を扱う方法のカスタム実装を行います。Tensorflow Androidデモ:カスタムグラフを読み込みますか?

グラフは、UDacityの深い学習コースのAssignment 6で、LSTMを使用してテキストを生成するRNNです。 (私はすでに.pbファイルに凍結しています)。しかし、Androidのデモのコードは、画像分類子を扱っているという仮定に基づいています。今まで私はtensorflow.initializeTensorflowTensorFlowImageListenerで呼び出された)に渡されたパラメータの値を変更する必要があることを理解しましたが、いくつかのパラメータは画像入力のプロパティを表します(例えばIMAGE_SIZE)ロードしないでください。これは、ネイティブコードを変更する必要があることを意味しますか?より一般的には、私はこの問題全体にどのようにアプローチできますか?

+0

すべてのソリューションが見つかりましたか? –

答えて

0

テンソルフローモデルをロードして提供する一般的な方法については、TensorFlow Servingを参照してください。

0

最近、訓練されたTensorFlowモデルをAndroidアプリに組み込むことが非常に簡単になりました。

私のブログの記事は、より多くの細部に入る
https://medium.com/@daj/using-a-pre-trained-tensorflow-model-on-android-e747831a3d6(パート1) https://medium.com/@daj/using-a-pre-trained-tensorflow-model-on-android-part-2-153ebdd4c465(パート2)が、要約すると、すべてを行う必要がある:ここで私のブログの記事をチェック

  1. build.gradleにコンパイルorg.tensorflow:tensorflow-android:+の依存関係を含めます。
  2. Java TensorFlowInferenceInterfaceクラスを使用してモデルとのインターフェイスを作成します(ネイティブコードを変更する必要はありません)。

TensorFlow Androidデモアプリがこの新しいアプローチを使用するように更新されました。 TensorFlowInferenceInterfaceを使用する場所はTensorFlowImageClassifier.recognizeImageを参照してください。

グラフの入力ノードと出力ノードの名前や入力のサイズなど、いくつかの設定を指定する必要がありますが、その情報をfrom using TensorBoardに出力するか、トレーニングを調べる必要がありますスクリプト。

関連する問題