TensorFlow Serving は、実稼働環境向けに設計された、機械学習モデル用の柔軟で高性能なサービス提供システムです。これは、機械学習の推論の側面を扱い、トレーニング後にモデルを取得してそのライフタイムを管理し、高性能の参照カウントされたルックアップ テーブルを介してクライアントにバージョン管理されたアクセスを提供します。 TensorFlow Serving は、すぐに使える TensorFlow モデルとの統合を提供しますが、他のタイプのモデルやデータを提供するように簡単に拡張できます。
いくつかの機能に注目してください:
# Download the TensorFlow Serving Docker image and repo
docker pull tensorflow/serving
git clone https://github.com/tensorflow/serving
# Location of demo models
TESTDATA= " $( pwd ) /serving/tensorflow_serving/servables/tensorflow/testdata "
# Start TensorFlow Serving container and open the REST API port
docker run -t --rm -p 8501:8501
-v " $TESTDATA /saved_model_half_plus_two_cpu:/models/half_plus_two "
-e MODEL_NAME=half_plus_two
tensorflow/serving &
# Query the model using the predict API
curl -d ' {"instances": [1.0, 2.0, 5.0]} '
-X POST http://localhost:8501/v1/models/half_plus_two:predict
# Returns => { "predictions": [2.5, 3.0, 4.5] }
Tensorflow モデルをトレーニングして提供するための完全なチュートリアルについては、公式 Tensorflow ドキュメント サイトを参照してください。
TensorFlow Serving を使用する最も簡単で直接的な方法は、Docker イメージを使用することです。コンテナー内で実行することで対処できない特定のニーズがない限り、このルートを強くお勧めします。
Tensorflow モデルを提供するには、Tensorflow プログラムから SavedModel をエクスポートするだけです。 SavedModel は、言語に依存しない、回復可能な密閉型シリアル化形式であり、これにより、上位レベルのシステムやツールが TensorFlow モデルを生成、消費、変換できるようになります。
SavedModel をエクスポートする方法の詳細な手順については、Tensorflow ドキュメントを参照してください。
Tensorflow Serving のアーキテクチャは高度にモジュール化されています。一部の部分を個別に使用したり (バッチ スケジューリングなど)、新しいユースケースに対応するために拡張したりできます。
TensorFlow Serving に貢献したい場合は、必ず貢献ガイドラインを確認してください。
詳細については、TensorFlow の公式 Web サイトを参照してください。