Earth Engine でサポートされているホストモデルのペイロード形式

カスタム トレーニング モデルは、Vertex AI でホストされているため、Earth Engine が正しく構成された解釈可能な推論リクエストをモデルに送信できるように構成する必要があります。

サポートされているモデル入力

Earth Engine は、推論の実行時にリクエストを自動的に作成します。ee.Model.fromVertexAi を使用してモデル コネクタをインスタンス化する場合、EE がリクエストを送信するペイロード形式を payloadFormat パラメータで指定します。

gRPC 予測ペイロード

ホストされているすべての TensorFlow モデルは、gRPC プロトコルを介して予測を送信できます。これは、予測レイテンシが短縮され、信頼性が向上するため、ホスト型モデルを Earth Engine に接続する方法として推奨されます。

GRPC_TF_TENSORS

GRPC_TF_TENSORS ペイロード形式を使用して、TensorFlow モデルで gRPC を使用します。すべてのプロパティやバンドは、1 つの PredictRequest でエンコードされます。この PredictRequest は、モデルが使用するテンソルの辞書に変換されます。

GRPC_SERIALIZED_TF_TENSORS

以前に Earth Engine と統合されていた Cloud AI Platform モデルを、モデルを変更せずに移行する場合は、GRPC_SERIALIZED_TF_TENSORS 形式を使用します。Vertex AI のモデルに container_grpc_ports が設定されていない場合は、再アップロードして再デプロイする必要があります。

GRPC_SERIALIZED_TF_EXAMPLES

tf.Example プロトコル バッファをサポートするモデルには GRPC_SERAILZED_TF_EXAMPLES を使用します。Earth Engine は、「input」という名前の単一のテンソルを送信します。このテンソルには、Example プロトコルの utf-8 エンコードされた proto ByteString が含まれています。

HTTP API ペイロード

Vertex AI は、HTTP 推論エンドポイントへの接続をサポートしています。Earth Engine は、一般的な HTTP ペイロード形式をいくつかサポートしています。デフォルトでは、すべての Vertex AI カスタムモデルが HTTP 推論 API をサポートしています。

SERIALIZED_TF_TENSORS

これは、Vertex AI でホストされているモデルに接続する場合のデフォルトの payloadFormat です。このペイロード形式は、TensorFlow モデルを使用する場合の HTTP ペイロード形式の中で最も効率的です。

Earth Engine は、推論リクエストに必要なバンドとプロパティごとに、ホスト型モデルに送信される instances オブジェクト内の単一の Key-Value ペアとして入力を構築します。

各キーはバンドまたはプロパティ名で、各値は string_val として Base64 でエンコードされた TensorProto ByteString です。

RAW_JSON

他のモデル フレームワークの場合、送信できる最も柔軟な形式は、名前付き入力と値の JSON 辞書です。このペイロード形式は、デフォルトで PyTorch モデルと AutoML モデルで適切に機能します。

ただし、すべての数値は JSON 文字列に変換されます。たとえば、数値 12.345 を文字列「12.345」としてエンコードします。大規模な推論ペイロードは、このペイロード形式では適切にサポートされていません。

ND_ARRAYS

これは RAW_JSON ペイロード形式に似ていますが、キーを省略し、NumPy ndarray で to_list() を呼び出す場合と同じ形式の数値リストのみを渡します。このペイロード形式は、PyTorch とネイティブに連携します。