Repolode
tensorflow

tensorflow/serving

バージョン管理されたgRPCおよびHTTP推論エンドポイントを備え、本番環境で機械学習モデルを高性能に提供するシステムです。

スター
6,365
フォーク
2,204
未解決の Issue
82
最終コミット
17 日前

これは何?

TensorFlow Servingは、機械学習の推論処理を担います。学習済みモデルを受け取り、読み込んでライフサイクルを管理し、クライアントにバージョンごとのアクセスを提供します。TensorFlow SavedModelはそのまま利用でき、拡張すれば埋め込み、語彙、特徴量変換など、ほかのモデルやデータも提供できます。

複数のモデルや、1つのモデルの複数のバージョンを同時にホストできます。クライアントのコードを変更せずに新しいバージョンを展開できるため、カナリアリリースや実験的なモデルのA/Bテストが可能です。バッチスケジューラは個々のリクエストをまとめ、GPUで一括実行します。レイテンシの制御も設定できます。

gRPCとRESTの両方の推論エンドポイントを提供します。Dockerイメージとして配布されており、ドキュメントではKubernetesへのデプロイ、設定、ソースからのビルドについて説明しています。

主な機能

  • 01複数のモデル、または1つのモデルの複数バージョンを同時に提供
  • 02gRPCとHTTP/RESTの両方の推論エンドポイントを提供
  • 03クライアントのコードを変更せずに新しいモデルバージョンをデプロイ
  • 04モデルのカナリアリリースとA/Bテストに対応
  • 05設定可能なレイテンシ制御のもと、リクエストをバッチ化してGPUで実行

ユースケース

  • 本番環境で推論APIの背後にTensorFlowモデルをデプロイする
  • 同じエンドポイントを維持したまま、新しいモデルバージョンを段階的に展開する
  • 実験的なモデルと現行モデルのA/Bテストを実施する
  • カスタムservableを通じて、TensorFlow以外のモデルや埋め込みを提供する

クイックスタート

  1. 1

    TensorFlow Serving の Docker イメージをダウンロードする

    docker pull tensorflow/serving
  2. 2

    デモモデルを取得するためにリポジトリをクローンする

    git clone https://github.com/tensorflow/serving
  3. 3

    デモモデルを指定し、REST ポートを開放してコンテナを起動する

    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 &
  4. 4

    predict API を使ってモデルにクエリを送信する

    curl -d '{"instances": [1.0, 2.0, 5.0]}' -X POST http://localhost:8501/v1/models/half_plus_two:predict

使う前に知っておきたいこと

  • README では Docker を使ったセットアップが推奨されており、Docker を使わない実行は推奨されていません。
  • そのまま配信するには、モデルを TensorFlow SavedModel としてエクスポートする必要があります。

収録されている特集

トピック

よくある質問

serving とは?
バージョン管理されたgRPCおよびHTTP推論エンドポイントを備え、本番環境で機械学習モデルを高性能に提供するシステムです。 TensorFlow Servingは、機械学習の推論処理を担います。学習済みモデルを受け取り、読み込んでライフサイクルを管理し、クライアントにバージョンごとのアクセスを提供します。TensorFlow SavedModelはそのまま利用でき、拡張すれば埋め込み、語彙、特徴量変換など、ほかのモデルやデータも提供できます。
serving は無料で使えますか?ライセンスは?
serving は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
serving は今もメンテナンスされていますか?
活発にメンテナンス中。serving の最終コミットは 2026年10月21日 です。
serving は何に使えますか?
本番環境で推論APIの背後にTensorFlowモデルをデプロイする 同じエンドポイントを維持したまま、新しいモデルバージョンを段階的に展開する 実験的なモデルと現行モデルのA/Bテストを実施する カスタムservableを通じて、TensorFlow以外のモデルや埋め込みを提供する
serving のインストール方法は?
TensorFlow Serving の Docker イメージをダウンロードする: docker pull tensorflow/serving デモモデルを取得するためにリポジトリをクローンする: git clone https://github.com/tensorflow/serving デモモデルを指定し、REST ポートを開放してコンテナを起動する: 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 & predict API を使ってモデルにクエリを送信する: curl -d '{"instances": [1.0, 2.0, 5.0]}' -X POST http://localhost:8501/v1/models/half_plus_two:predict
serving はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/tensorflow/serving

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト