Các định dạng trọng tải mô hình được lưu trữ được hỗ trợ trên Earth Engine

Bạn phải định cấu hình mô hình được huấn luyện tuỳ chỉnh để Earth Engine có thể gửi các yêu cầu suy luận được định dạng tốt và có thể diễn giải đến mô hình khi mô hình đó được lưu trữ trên Vertex AI.

Đầu vào mô hình được hỗ trợ

Earth Engine sẽ thay mặt bạn tạo các yêu cầu khi thực hiện suy luận. Chỉ định định dạng tải trọng mà EE sẽ gửi yêu cầu bằng cách sử dụng tham số payloadFormat khi bạn tạo bản sao trình kết nối mô hình bằng ee.Model.fromVertexAi.

Tải trọng dự đoán gRPC

Tất cả mô hình TensorFlow được lưu trữ đều có thể gửi thông tin dự đoán qua giao thức gRPC. Đây là cách ưu tiên để kết nối các mô hình được lưu trữ với Earth Engine vì cách này sẽ giúp giảm độ trễ dự đoán và tăng độ tin cậy.

GRPC_TF_TENSORS

Sử dụng định dạng tải trọng GRPC_TF_TENSORS để sử dụng gRPC với các mô hình TensorFlow. Tất cả các thuộc tính và/hoặc dải sẽ được mã hoá trong một PredictRequest duy nhất. PredictRequest này sẽ được chuyển đổi thành một từ điển tensor để mô hình của bạn sử dụng.

GRPC_SERIALIZED_TF_TENSORS

Sử dụng định dạng GRPC_SERIALIZED_TF_TENSORS nếu bạn muốn di chuyển một mô hình Cloud AI Platform đã được tích hợp với Earth Engine mà không cần sửa đổi mô hình. Bạn sẽ cần tải lên lại và triển khai lại nếu không đặt container_grpc_ports trên mô hình trong Vertex AI.

GRPC_SERIALIZED_TF_EXAMPLES

Sử dụng GRPC_SERAILZED_TF_EXAMPLES cho các mô hình hỗ trợ vùng đệm giao thức tf.Example. Earth Engine sẽ gửi một tensor duy nhất có tên "input" (đầu vào) chứa ByteString proto được mã hoá utf-8 của một proto mẫu.

Tải trọng API HTTP

Vertex AI hỗ trợ kết nối với các điểm cuối suy luận HTTP. Earth Engine hỗ trợ một số định dạng tải trọng HTTP phổ biến. Theo mặc định, tất cả mô hình tuỳ chỉnh của Vertex AI đều hỗ trợ API suy luận HTTP.

SERIALIZED_TF_TENSORS

Đây là payloadFormat mặc định khi kết nối với một mô hình được lưu trữ trong Vertex AI. Định dạng tải trọng này là hiệu quả nhất trong các định dạng tải trọng HTTP khi sử dụng mô hình TensorFlow.

Earth Engine sẽ tạo dữ liệu đầu vào theo cách sau: đối với mỗi băng tần và thuộc tính cần thiết cho yêu cầu suy luận, bạn sẽ có một cặp khoá-giá trị trong đối tượng instances được gửi đến mô hình được lưu trữ.

Mỗi khoá sẽ là tên ban nhạc hoặc thuộc tính và mỗi giá trị sẽ là một ByteString TensorProto được mã hoá bằng Base64 dưới dạng string_val.

RAW_JSON

Đối với các khung mô hình khác, định dạng linh hoạt nhất mà chúng ta có thể gửi là từ điển JSON chứa các giá trị và dữ liệu đầu vào được đặt tên. Định dạng tải trọng này hoạt động tốt với các mô hình PyTorch và AutoML theo mặc định.

Tuy nhiên, xin lưu ý rằng tất cả giá trị số sẽ được chuyển đổi thành chuỗi JSON. Ví dụ: để biểu thị số 12,345, chúng ta mã hoá số này dưới dạng chuỗi "12,345". Các tải trọng suy luận lớn không được hỗ trợ tốt bằng định dạng tải trọng này.

ND_ARRAYS

Định dạng này tương tự như định dạng tải trọng RAW_JSON nhưng sẽ bỏ qua các khoá và chỉ truyền vào một danh sách số theo cùng định dạng gọi to_list() trên một ndarray NumPy. Định dạng tải trọng này hoạt động tốt với PyTorch gốc.