2015-12-02 11 views
18

RESTful API経由でTensorflowモデルをデプロイするためのサンプルコードはありますか?私は、コマンドラインプログラムとモバイルアプリケーションの例を見ています。このためのフレームワークがあるか、モデルをロードし、予測メソッドをWebフレームワーク(Flaskなど)で公開して入力を取得し(JSONなど)、応答を返しますか?フレームワークとは、多数の予測要求に対するスケーリングを意味します。もちろん、モデルが不変なので、予測サーバーの複数のインスタンスを起動し、HAProxyのようなロードバランサの後ろに置くことができます。私の質問は、これに何らかのフレームワークを使用している人や、これを最初からやっているのか、それともTensorflowで既に利用可能で、気づいていないかもしれないということです。RESTful API経由でTensorflowモデルをデプロイする例

+0

私は単純なFlaskの例を見つけ、その答えを一番下に入れました。これはあなたが探していたものですか?私に知らせてくださいそれ以外の場合は、私は答えを削除します。 私はTensorFlow Servingでパフォーマンスをテストしていませんが、Flaskのバージョンはまともです。 –

答えて

17

TensorFlow Servingは、実稼働環境用に設計され、TensorFlow用に最適化された、機械学習モデル用の高性能オープンソースサービングシステムです。最初のリリースにはgRPCで構築されたサンプルが含まれていますが、フロントエンド(以下の図では「クライアント」と表記)をRESTful APIで簡単に置き換えることができます。

enter image description here

すぐに始めるために、tutorialをチェックしてください。

22

https://github.com/sugyan/tensorflow-mnistは、Flaskを使用して事前訓練モード(復元)をロードすることによって簡単なrestAPIの例を示しています。

@app.route('/api/mnist', methods=['POST']) 
def mnist(): 
    input = ((255 - np.array(request.json, dtype=np.uint8))/255.0).reshape(1, 784) 
    output1 = simple(input) 
    output2 = convolutional(input) 
    return jsonify(results=[output1, output2]) 

また、https://tensorflow-mnist.herokuapp.com/のオンラインデモを参照してください。 APIが十分に速いと思われます。

関連する問題