Demande d'inférences à partir d'un service déployé (SDK Amazon SageMaker) - Amazon SageMaker

Demande d'inférences à partir d'un service déployé (SDK Amazon SageMaker)

Utilisez les exemples de code suivants pour demander des inférences à partir de votre service déployé en fonction du cadre que vous avez utilisé pour entraîner votre modèle. Les exemples de code sont similaires pour les différents cadres. Ils se différencient en ce que TensorFlow nécessite application/json comme type de contenu.

PyTorch et MXNet

Si vous utilisez PyTorch v1.4 ou ultérieure ou MXNet 1.7.0 ou version ultérieure et que vous disposez d'un point de terminaison Amazon SageMaker InService, vous pouvez effectuer des demandes d'inférence à l'aide du package predictor du SDK SageMaker pour Python.

Note

L'API varie en fonction de la version du SDK SageMaker pour Python :

L'exemple de code suivant montre comment utiliser ces API pour envoyer une image pour inférence :

SageMaker Python SDK v1.x
from sagemaker.predictor import RealTimePredictor endpoint = 'insert name of your endpoint here' # Read image into memory payload = None with open("image.jpg", 'rb') as f: payload = f.read() predictor = RealTimePredictor(endpoint=endpoint, content_type='application/x-image') inference_response = predictor.predict(data=payload) print (inference_response)
SageMaker Python SDK v2.x
from sagemaker.predictor import Predictor endpoint = 'insert name of your endpoint here' # Read image into memory payload = None with open("image.jpg", 'rb') as f: payload = f.read() predictor = Predictor(endpoint) inference_response = predictor.predict(data=payload) print (inference_response)

TensorFlow

L'exemple de code suivant montre comment utiliser l'API du SDK SageMaker Python pour envoyer une image pour inférence :

from sagemaker.predictor import Predictor from PIL import Image import numpy as np import json endpoint = 'insert the name of your endpoint here' # Read image into memory image = Image.open(input_file) batch_size = 1 image = np.asarray(image.resize((224, 224))) image = image / 128 - 1 image = np.concatenate([image[np.newaxis, :, :]] * batch_size) body = json.dumps({"instances": image.tolist()}) predictor = Predictor(endpoint) inference_response = predictor.predict(data=body) print(inference_response)