Earth Engine 支援的代管模型酬載格式

您必須設定自訂訓練模型,讓 Earth Engine 能夠將正確格式且可解讀的推論要求傳送至 Vertex AI 上託管的模型。

支援的模型輸入

Earth Engine 在執行推論時,會代您建構要求。使用 ee.Model.fromVertexAi 將模型連接器例項化時,請指定 EE 將使用 payloadFormat 參數傳送要求的酬載格式。

gRPC 預測酬載

所有代管的 TensorFlow 模型都能透過 gRPC 通訊協定傳送預測結果。這是連結代管模型與 Earth Engine 的首選方式,因為這麼做可縮短預測時間,提高可靠性。

GRPC_TF_TENSORS

使用 GRPC_TF_TENSORS 酬載格式,搭配 TensorFlow 模型使用 gRPC。所有屬性和/或頻帶都會在單一 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 proto 的 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 物件中單一鍵/值組合。

每個鍵會是頻帶或屬性名稱,每個值會是 Base64 編碼的 TensorProto ByteString,做為 string_val

RAW_JSON

對於其他模型架構,我們可以傳送的最具彈性的格式是包含命名輸入內容和值的 JSON 字典。根據預設,這個酬載格式可與 PyTorch 和 AutoML 模型搭配使用。

不過請注意,所有數值都會轉換為 JSON 字串。舉例來說,我們將 12.345 編碼為字串「12.345」,用來表示這個數字。這個酬載格式不支援大型推論酬載。

ND_ARRAYS

這類似於 RAW_JSON 酬載格式,但會省略鍵,只會以相同格式在 NumPy ndarray 上呼叫 to_list() 時傳入數字清單。這種酬載格式與 PyTorch 原生搭配使用時,運作良好。