Obsługiwane formaty danych w hostowanym modelu

Niestandardowy wytrenowany model musi być skonfigurowany tak, aby Earth Engine mógł wysyłać do niego poprawne i zrozumiałe żądania wnioskowania, gdy model jest hostowany w Vertex AI.

Obsługiwane dane wejściowe modelu

Podczas wykonywania wnioskowania Earth Engine tworzy żądania w Twoim imieniu. Podczas tworzenia wystąpienia łącznika modelu za pomocą parametru payloadFormat wskaż format ładunku, w którym usługa zewnętrzna będzie wysyłać żądania.ee.Model.fromVertexAi

Dane wyjściowe prognozy gRPC

Wszystkie hostowane modele TensorFlow mogą wysyłać prognozy za pomocą protokołu gRPC. Jest to preferowany sposób łączenia hostowanych modeli z Earth Engine, ponieważ zapewnia mniejsze opóźnienie prognoz i większą niezawodność.

GRPC_TF_TENSORS

Aby używać gRPC z modelami TensorFlow, użyj formatu GRPC_TF_TENSORS. Wszystkie właściwości lub pasma zostaną zakodowane w jednym pliku PredictRequest. Ten PredictRequest zostanie przekonwertowany na słownik tensorów, z których będzie korzystać model.

GRPC_SERIALIZED_TF_TENSORS

Użyj formatu GRPC_SERIALIZED_TF_TENSORS, jeśli chcesz przenieść model Cloud AI Platform, który został wcześniej zintegrowany z Earth Engine, bez konieczności modyfikacji modelu. Jeśli w modelu w Vertex AI nie jest ustawiona wartość container_grpc_ports, musisz ponownie przesłać i ponownie wdrożyć model.

GRPC_SERIALIZED_TF_EXAMPLES

Używaj GRPC_SERAILZED_TF_EXAMPLES w przypadku modeli, które obsługują bufory protokołu tf.Example. Earth Engine wyśle jeden tensor o nazwie „input”, który zawiera zakodowany w formacie utf-8 proto ByteString przykładowego proto.

Dane HTTP API

Vertex AI obsługuje łączenie się z punktami końcowymi wnioskowania HTTP. Earth Engine obsługuje kilka popularnych formatów danych HTTP. Domyślnie wszystkie modele niestandardowe Vertex AI obsługują interfejs HTTP inference API.

SERIALIZED_TF_TENSORS

Jest to domyślna wartość payloadFormat podczas łączenia się z modelem hostowanym w Vertex AI. Ten format danych jest najbardziej wydajnym formatem danych HTTP w przypadku modeli TensorFlow.

Earth Engine będzie tworzyć dane wejściowe w następujący sposób: każda grupa i właściwość wymagana do wykonania żądania wnioskowania będzie stanowić pojedynczą parę klucz-wartość w obiekcie instances wysyłanym do hostowanego modelu.

Każdy klucz będzie nazwą pasma lub właściwości, a każda wartość będzie string_val zakodowanym w formacie Base64 bajtowym ciągiem znaków TensorProto.

RAW_JSON

W przypadku innych ramek modelowych najbardziej elastycznym formatem, który możemy wysłać, jest słownik JSON nazwanych danych wejściowych i wartości. Ten format danych jest domyślnie dobrze obsługiwany przez modele PyTorch i AutoML.

Pamiętaj jednak, że wszystkie wartości liczbowe zostaną przekonwertowane na ciągi tekstowe JSON. Na przykład, aby zakodować liczbę 12,345, użyjemy ciągu „12.345”. Ten format nie obsługuje dużych pakietów danych do wnioskowania.

ND_ARRAYS

Jest to format podobny do RAW_JSON, ale bez kluczy. Zamiast tego zawiera listę liczb w tym samym formacie wywołania to_list() w tablicy NumPy ndarray. Ten format danych jest natywnie obsługiwany przez PyTorch.