TensorFlow Serving 互換 gRPC API

はじめに

ここでは、TensorFlow Serving と互換性のある OpenVINO™ モデルサーバー gRPC API に関する情報を提供します。これは、tensorflow_serving_api の proto バッファーファイルに文書化されています。入力データの逆シリアル化が高速に実装されるため、最適なパフォーマンスを得るには、gRPC インターフェイスを使用することを推奨します。gRPC は、特に画像などの大きな入力メッセージの場合、待ち時間の短縮を実現します。

このドキュメントでは、TensorFlow Serving gRPC API の次の API エンドポイントについて説明します。

注: PredictGetModelMetadata および GetModelStatus 関数呼び出しの実装は利用可能です。これらは最も一般的な関数呼び出しであり、ほとんどの使用シナリオに対応する必要があります。

モデルステータス API

モデルのバージョンを含む、提供されるモデルのステータスに関する情報を取得します。

Get Model Status proto は、ステータスのエンドポイントを呼び出す際に使用される 3 つのメッセージを定義します: GetModelStatusRequestModelVersionStatusGetModelStatusResponse。この 3 つのメッセージは、公開されているすべてのバージョンとそのライフサイクルの状態を報告するために使用されます。

モデルのステータス取得 API の使用法については、こちらをご覧ください。

モデルメタデータ API

提供されるモデルに関する情報を取得します。GetModelMetadata と呼ばれる関数は、モデル仕様情報を入力として受け取り、TensorFlow Serving と同様の形式でシグネチャー定義コンテンツを返します。

Get Model Metadata proto には、SignatureDefMapGetModelMetadataRequestGetModelMetadataResponse の 3 つのメッセージ定義があります。

モデルのメタデータ取得 API の使用法については、こちらをご覧ください。

予測 API

読み込まれたモデルまたは DAG を使用して推論を実行するエンドポイントです。

Predict proto には、PredictRequestPredictResponse の 2 つのメッセージ定義があります。

  • PredictRequest は、モデル仕様に関する情報、つまり TensorProto を介して文字列形式にシリアル化された入力データのマップを指定します。

  • PredictResponse には、TensorProto によってシリアル化された出力のマップと、使用されるモデル仕様に関する情報が含まれます。

予測 API API の使用法については、こちらをご覧ください。

また、string_val フィールドを使用すると、opencv を使用して OVMS によって前処理され、OpenVINO に適した形式に変換されるバイナリーエンコードされた画像を送信することができます。詳細については、OpenVINO モデルサーバーでのバイナリーデータの処理方法を確認してください。

関連情報