Format Payload Model yang Dihosting dan Didukung di Earth Engine

Model terlatih kustom Anda harus dikonfigurasi sedemikian rupa sehingga Earth Engine dapat mengirim permintaan inferensi yang terbentuk dengan baik dan dapat ditafsirkan ke model saat dihosting di Vertex AI.

Input Model yang Didukung

Earth Engine membuat permintaan atas nama Anda saat melakukan inferensi. Tentukan format payload yang akan digunakan EE untuk mengirim permintaan menggunakan parameter payloadFormat saat Anda membuat instance konektor model dengan ee.Model.fromVertexAi.

Payload Prediksi gRPC

Semua model TensorFlow yang dihosting dapat mengirim prediksi melalui protokol gRPC. Ini adalah cara yang lebih disukai untuk menghubungkan model yang dihosting dengan Earth Engine karena akan menghasilkan latensi prediksi yang lebih rendah dan keandalan yang lebih tinggi.

GRPC_TF_TENSORS

Gunakan format payload GRPC_TF_TENSORS untuk menggunakan gRPC dengan model TensorFlow. Semua properti dan/atau band akan dienkode dalam satu PredictRequest. PredictRequest ini akan dikonversi menjadi kamus tensor untuk digunakan oleh model Anda.

GRPC_SERIALIZED_TF_TENSORS

Gunakan format GRPC_SERIALIZED_TF_TENSORS jika Anda ingin memigrasikan model Cloud AI Platform yang sebelumnya telah terintegrasi dengan Earth Engine tanpa harus mengubah model. Anda harus mengupload ulang dan men-deploy ulang jika container_grpc_ports tidak ditetapkan pada model Anda di Vertex AI.

GRPC_SERIALIZED_TF_EXAMPLES

Gunakan GRPC_SERAILZED_TF_EXAMPLES untuk model yang mendukung buffering protokol tf.Example. Earth Engine akan mengirim satu tensor bernama "input" yang berisi proto ByteString proto Contoh yang dienkode utf-8.

Payload HTTP API

Vertex AI mendukung koneksi ke endpoint inferensi HTTP. Earth Engine mendukung beberapa format payload HTTP umum. Secara default, semua model kustom Vertex AI mendukung API inferensi HTTP.

SERIALIZED_TF_TENSORS

Ini adalah payloadFormat default saat terhubung ke model yang dihosting di Vertex AI. Format payload ini adalah format payload HTTP yang paling efisien saat menggunakan model TensorFlow.

Earth Engine akan membuat input dengan cara berikut: untuk setiap band dan properti yang diperlukan untuk permintaan inferensi Anda, akan ada satu pasangan nilai kunci dalam objek instances yang dikirim ke model yang dihosting.

Setiap kunci akan menjadi nama band atau properti dan setiap nilai akan berupa TensorProto ByteString yang dienkode Base64 sebagai string_val.

RAW_JSON

Untuk framework model lainnya, format paling fleksibel yang dapat kita kirim adalah kamus JSON input dan nilai yang diberi nama. Format payload ini berfungsi dengan baik dengan model PyTorch dan AutoML secara default.

Namun, perlu diperhatikan bahwa semua nilai numerik akan dikonversi menjadi string JSON. Misalnya, untuk merepresentasikan angka 12,345, kita mengenkodenya sebagai string "12.345". Payload inferensi besar tidak didukung dengan baik dengan format payload ini.

ND_ARRAYS

Hal ini mirip dengan format payload RAW_JSON, tetapi akan menghapus kunci dan hanya meneruskan daftar angka dalam format panggilan yang sama to_list() di ndarray NumPy. Format payload ini berfungsi dengan baik dengan PyTorch secara native.