您必須設定自訂訓練模型,讓 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 原生搭配使用時,運作良好。