TensorFlow Servingは、TensorFlowの学習済みモデルを本番環境で運用するためのシステム(RPCサーバー)です。
機械学習で得たモデルを使用したい場合に、TensorFlow Servingは便利です。インターフェースとして使用できる言語は様々なものに対応しています。インターフェースはgRPCなので、gRPCを対応している言語なら全部対応しています。
私はJavaが得意なのでJavaでTensorFlow Servingを扱ってみようと思います。TensorFlowで機械学習をするにはpythonかC++で扱うのが王道のようで、提供されているAPIを見る限り、TensorFlowをJavaで扱うのは得策ではなさそうです。
TensorFlow Servingは次のような特徴を持ちます。
- TensorFlow ServingはLinuxにインストールする。(Dockerでもいける)
- TensorFlowの学習済みモデルをTensorFlow Servingに登録する。
- クライアントプログラムから予測したいデータを送信すると、TensorFlow Servingに登録された学習済みモデルが予測した結果を返す。
- gRPCインターフェースを持つ
分かりやすく参考になったサイトをご紹介します。
【TensorFlow】学習済みモデルをサーバーで動かすServingとは – Samurai Blog
TensorFlow Servingで機械学習モデルをプロダクション環境で運用する – freee Developers blog
インターフェースがgRPCということで、まずはgRPCの勉強から始めると良いと思います。