私自身のデータセットのための再入モデルを持っています。 ThoモデルはPythonでビルドされています。保存されたグラフは.pbファイルとして、ラベルファイルは.txtとして保存されます。今私はJavaを介して画像のこのモデルを使用して予測する必要があります。誰でも助けてください。Javaからのトレーニングと予測のためにPythonで書かれたテンソルフローモデルを実行する
2
A
答えて
3
TensorFlowチームはJavaインターフェイスを開発中ですが、まだ安定していません。既存のコードはhttps://github.com/tensorflow/tensorflow/tree/master/tensorflow/javaにあり、開発の更新情報はhttps://github.com/tensorflow/tensorflow/issues/5に従ってください。あなたはGraphTest.java、SessionTest.javaおよびTensorTest.javaを見て、それが現在どのように使われているかを見ることができます(しかし、説明したように、これは将来変わるかもしれません)。基本的には、Graph
オブジェクトにバイナリ保存されたグラフをロードし、それにSession
を作成し、適切な値(Tensor
秒)で実行すると、出力がList<Tensor>
になります。ソースの例からまとめ:
import java.nio.file.Files;
import java.nio.file.Paths;
import org.tensorflow.Graph;
import org.tensorflow.Session;
import org.tensorflow.Tensor;
try (Graph graph = new Graph()) {
graph.importGraphDef(Files.readAllBytes(Paths.get("saved_model.pb"));
try (Session sess = new Session(graph)) {
try (Tensor x = Tensor.create(1.0f);
Tensor y = s.runner().feed("x", x).fetch("y").run().get(0)) {
System.out.println(y.floatValue());
}
}
}
0
私はそれが.pb
で終わる、protobuf
ファイルを読んで働い使用されるコードを。
try (SavedModelBundle b = SavedModelBundle.load("/tmp/model", "serve")) {
Session sess = b.session();
...
float[][]matrix = sess.runner()
.feed("x", input)
.feed("keep_prob", keep_prob)
.fetch("y_conv")
.run()
.get(0)
.copyTo(new float[1][10]);
...
}
私はそれを保存するために使用Pythonのコードはでした:
signature = tf.saved_model.signature_def_utils.build_signature_def(
inputs = {'x': tf.saved_model.utils.build_tensor_info(x)},
outputs = {'y_conv': tf.saved_model.utils.build_tensor_info(y_conv)},
)
builder = tf.saved_model.builder.SavedModelBuilder("/tmp/model")
builder.add_meta_graph_and_variables(sess,
[tf.saved_model.tag_constants.SERVING],
signature_def_map={tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY: signature}
)
builder.save()
関連する問題
- 1. はイメージでSVMをトレーニングと予測あなたの助けのための
- 2. あなたのオプティマイザでtf.groupを使用した後、テンソルフローモデルから予測を得る方法
- 3. 予測のためのカルマンフィルタの実装
- 4. Tensorflowによるトレーニングと予測
- 5. ニューラルネットワークmatlabトレーニング後の予測
- 6. Rパッケージの既にフィッティングされたモデルから予測する
- 7. 私たちがそれを実行するたびに、ニューラルネットワークの予測の精度はトレーニングとテストのデータのサイズによって異なります
- 8. C++で訓練されたテンソルフローモデルを実行する
- 9. APKは2.3で書かれたAPKを実行するためにアンドロイド2.2で書かれていますか?
- 10. y予測のために与えられたデータから方程式を確立するには?
- 11. なぜPythonで書かれたDecision Treeコードは、Rで書かれたコードとは異なった予測をしますか?
- 12. Javaからコマンドを実行するためのprocessbuilder
- 13. 時系列Python ARIMA(過去のデータをテスト、トレーニング、予測すること)
- 14. pythonでpvlibを使用した雲量予測からの総放射照度予測の換算
- 15. 推論タスクを実行するためにテンソルフローモデルをcntkモデルフォーマットに変換する
- 16. PHPでjavaで書かれたハーフープアプリケーションを実行します。
- 17. Rの予測のための事前処理スケール - 予測と同じスケールが得られない
- 18. トレーニング予測中のNegativeArraySizeException ioユニバーサルリコメンダ
- 19. Javaでlibsvmを使用した予測
- 20. 実行中のPythonスクリプトWindows上でWindowsで書かれた
- 21. 操作を実行するためのPython辞書のスライシング
- 22. トレーニングを予約するためのダイナミックボタンの作成方法
- 23. クラウドMLでのトレーニングと予測のバージョンの不一致
- 24. クラスを実装するためにあらかじめ記述されたコードを書き換えます。 (Python)
- 25. 手書きテキストのためのトレーニングtesseract
- 26. 時系列解析のためのPythonの予測間隔
- 27. Javaで書かれたPythonコンパイラ
- 28. sklearn:パイプラインでトレーニングと予測に同じスケーリングを適用
- 29. テンソルフローモデルが異なる予測を与える
- 30. 予測のためのポイントプロセスモデルの使用