مدل آموزشدیده سفارشی شما باید به گونهای پیکربندی شود که Earth Engine بتواند درخواستهای استنتاج قابل تفسیر و شکلگیری شده را به مدل ارسال کند، زیرا در Vertex AI میزبانی میشود.
ورودی های مدل پشتیبانی شده
Earth Engine هنگام انجام استنتاج درخواست هایی را از طرف شما می سازد. وقتی کانکتور مدل را با ee.Model.fromVertexAi
نمونهسازی میکنید، قالب باری را که EE درخواستها را با استفاده از پارامتر payloadFormat
ارسال میکند، مشخص کنید.
بارهای پیش بینی gRPC
همه مدل های میزبانی TensorFlow می توانند پیش بینی ها را از طریق پروتکل gRPC ارسال کنند. این روش ترجیحی برای اتصال مدل های میزبانی شده با Earth Engine است، زیرا منجر به تاخیر پیش بینی کمتر و قابلیت اطمینان بیشتر می شود.
GRPC_TF_TENSORS
برای استفاده از gRPC با مدل های TensorFlow از قالب بارگیری GRPC_TF_TENSORS
استفاده کنید. همه ویژگی ها و یا باندها در یک PredictRequest
کدگذاری می شوند. این PredictRequest
برای استفاده از مدل شما به فرهنگ لغت تانسورها تبدیل می شود.
GRPC_SERIALIZED_TF_TENSORS
اگر میخواهید مدل پلتفرم Cloud AI را که قبلاً با Earth Engine ادغام شده بود، بدون نیاز به تغییر مدل منتقل کنید، از قالب GRPC_SERIALIZED_TF_TENSORS
استفاده کنید. اگر container_grpc_ports
در مدل شما در Vertex AI تنظیم نشده است، باید دوباره آپلود و دوباره مستقر کنید.
GRPC_SERIALIZED_TF_EXAMPLES
از GRPC_SERAILZED_TF_EXAMPLES
برای مدل هایی که از بافرهای پروتکل tf.Example پشتیبانی می کنند استفاده کنید. Earth Engine یک تانسور منفرد به نام "ورودی" ارسال می کند که حاوی پروتوی رمزگذاری شده utf-8 بایت استرینگ یک نمونه پروتو است.
HTTP API Payloads
Vertex AI از اتصال به نقاط پایانی استنتاج HTTP پشتیبانی می کند. Earth Engine از چندین فرمت بارگیری رایج HTTP پشتیبانی می کند. به طور پیش فرض همه مدل های سفارشی AI Vertex از API استنتاج HTTP پشتیبانی می کنند.
SERIALIZED_TF_TENSORS
این payloadFormat
پیش فرض هنگام اتصال به یک مدل میزبان در Vertex AI است. این فرمت payload کارآمدترین فرمت بارگذاری HTTP هنگام استفاده از مدلهای TensorFlow است.
Earth Engine ورودی ها را به روش زیر می سازد: برای هر باند و ویژگی مورد نیاز برای درخواست استنتاج شما، یک جفت کلید-مقدار واحد در شی instances
ارسال شده به مدل میزبان شما خواهد بود.
هر کلید نام باند یا ویژگی خواهد بود و هر مقدار یک TensorProto ByteString با کد Base64 به عنوان string_val
خواهد بود.
RAW_JSON
برای سایر چارچوبهای مدل، انعطافپذیرترین قالبی که میتوانیم ارسال کنیم، فرهنگ لغت JSON از ورودیها و مقادیر نامگذاری شده است. این فرمت payload به طور پیش فرض با مدل های PyTorch و AutoML به خوبی کار می کند.
اما توجه داشته باشید که تمام مقادیر عددی به رشتههای JSON تبدیل میشوند. به عنوان مثال، برای نشان دادن عدد، ما 12.345 را به عنوان رشته "12.345" کدگذاری می کنیم. بارهای استنتاج بزرگ با این قالب بار به خوبی پشتیبانی نمی شوند.
ND_ARRAYS
این شبیه به فرمت بارگیری RAW_JSON
است، اما کلیدها را حذف میکند و فقط در فهرستی از اعداد با همان فرمت فراخوانی to_list()
در درای NumPy ارسال میشود. این فرمت payload به خوبی با PyTorch به صورت بومی کار می کند.