커스텀 학습 모델은 Vertex AI에서 호스팅되므로 Earth Engine이 잘 구성되고 해석 가능한 추론 요청을 모델에 전송할 수 있도록 구성해야 합니다.
지원되는 모델 입력
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은 예시 proto의 utf-8 인코딩된 proto ByteString이 포함된 'input'이라는 단일 텐서를 전송합니다.
HTTP API 페이로드
Vertex AI는 HTTP 추론 엔드포인트에 연결하는 것을 지원합니다. Earth Engine은 여러 일반적인 HTTP 페이로드 형식을 지원합니다. 기본적으로 모든 Vertex AI 맞춤 모델은 HTTP 추론 API를 지원합니다.
SERIALIZED_TF_TENSORS
Vertex AI에서 호스팅된 모델에 연결할 때의 기본 payloadFormat입니다. 이 페이로드 형식은 TensorFlow 모델을 사용할 때 가장 효율적인 HTTP 페이로드 형식입니다.
Earth Engine은 다음과 같은 방식으로 입력을 구성합니다. 추론 요청에 필요한 모든 밴드 및 속성은 호스팅된 모델에 전송되는 instances 객체의 단일 키-값 쌍입니다.
각 키는 밴드 또는 속성 이름이고 각 값은 string_val로 Base64 인코딩된 TensorProto ByteString입니다.
RAW_JSON
다른 모델 프레임워크의 경우 이름이 지정된 입력과 값의 JSON 사전이 가장 유연한 형식입니다. 이 페이로드 형식은 기본적으로 PyTorch 및 AutoML 모델과 잘 작동합니다.
단, 모든 숫자 값은 JSON 문자열로 변환됩니다.
예를 들어 숫자를 나타내기 위해 12.345를 문자열 '12.345'로 인코딩합니다. 대용량 추론 페이로드는 이 페이로드 형식으로 잘 지원되지 않습니다.
ND_ARRAYS
이는 RAW_JSON 페이로드 형식과 유사하지만 키를 생략하고 NumPy ndarray에서 to_list()를 호출하는 것과 동일한 형식의 숫자 목록만 전달합니다. 이 페이로드 형식은 PyTorch와 원래 호환됩니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["필요한 정보가 없음","missingTheInformationINeed","thumb-down"],["너무 복잡함/단계 수가 너무 많음","tooComplicatedTooManySteps","thumb-down"],["오래됨","outOfDate","thumb-down"],["번역 문제","translationIssue","thumb-down"],["샘플/코드 문제","samplesCodeIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2024-10-01(UTC)"],[[["To use custom-trained models in Earth Engine, configure them for compatibility with Vertex AI for seamless inference requests."],["Earth Engine supports various payload formats, including gRPC and HTTP, for sending inference requests to your model, with gRPC being preferred for TensorFlow models due to its lower latency."],["When using gRPC, select the appropriate format (`GRPC_TF_TENSORS`, `GRPC_SERIALIZED_TF_TENSORS`, or `GRPC_SERIALIZED_TF_EXAMPLES`) based on your model's requirements and whether it needs a gRPC prediction handler."],["For HTTP payloads, Earth Engine offers options like `SERIALIZED_TF_TENSORS` (default and efficient for TensorFlow), `RAW_JSON` (flexible for PyTorch and AutoML), and `ND_ARRAYS` (for PyTorch with numerical data)."],["Carefully choose the payload format that best aligns with your model framework and data structure for optimal performance and compatibility."]]],["Earth Engine (EE) interacts with custom models on Vertex AI via inference requests. Users configure the payload format using `payloadFormat` in `ee.Model.fromVertexAi`. gRPC is preferred for lower latency and higher reliability, using formats like `GRPC_TF_TENSORS`, `GRPC_SERIALIZED_TF_TENSORS`, or `GRPC_SERIALIZED_TF_EXAMPLES`. HTTP API payloads are also supported, including `SERIALIZED_TF_TENSORS` (default for TensorFlow), `RAW_JSON` (for PyTorch/AutoML, converting numbers to strings), and `ND_ARRAYS` (similar to `RAW_JSON`, but without keys). Each format determines how data is sent.\n"]]