RESTful APIを介してTensorflowモデルをデプロイするためのサンプルコードはありますか?コマンドラインプログラムとモバイルアプリの例を参照してください。これのためのフレームワークがありますか、または人々はモデルをロードし、Webフレームワーク(Flaskなど)を介して予測メソッドを公開して、入力(JSONなど)を取得し、応答を返しますか?フレームワークとは、多数の予測リクエストのスケーリングを意味します。もちろん、モデルは不変であるため、予測サーバーの複数のインスタンスを起動し、ロードバランサー(HAProxyなど)の背後に配置できます。私の質問は、このために何らかのフレームワークを使用している人、またはこれをゼロから実行している人、または、これはすでにTensorflowで利用可能であり、私はそれに気付いていません。
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は十分に速いようです。
TensorFlow Serving は、機械学習モデル向けの高性能なオープンソースサービングシステムで、実稼働環境向けに設計され、TensorFlow用に最適化されています。初期リリースには gRPC でビルドされたサンプルが含まれていますが、ニーズに合わせてフロントエンド(下図で「クライアント」と表示)をRESTful APIに簡単に置き換えることができます。
すぐに開始するには、 tutorial を確認してください。