Anfordern von Inferenzen von einem bereitgestellten Service (Boto3) - Amazon SageMaker KI

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Anfordern von Inferenzen von einem bereitgestellten Service (Boto3)

Sie können Inferenzanfragen mit dem SageMaker AI SDK for Python (Boto3) -Client und der invoke_endpoint()API einreichen, sobald Sie über einen SageMaker KI-Endpunkt verfügen. InService Das folgende Codebeispiel zeigt, wie ein Bild zur Inferenz gesendet wird.

PyTorch and MXNet
import boto3 import json endpoint = 'insert name of your endpoint here' runtime = boto3.Session().client('sagemaker-runtime') # Read image into memory with open(image, 'rb') as f: payload = f.read() # Send image via InvokeEndpoint API response = runtime.invoke_endpoint(EndpointName=endpoint, ContentType='application/x-image', Body=payload) # Unpack response result = json.loads(response['Body'].read().decode())
TensorFlow

Zum TensorFlow Einreichen einer Eingabe mit application/json für den Inhaltstyp.

from PIL import Image import numpy as np import json import boto3 client = boto3.client('sagemaker-runtime') input_file = 'path/to/image' 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()}) ioc_predictor_endpoint_name = 'insert name of your endpoint here' content_type = 'application/json' ioc_response = client.invoke_endpoint( EndpointName=ioc_predictor_endpoint_name, Body=body, ContentType=content_type )
XGBoost

Für eine XGBoost Bewerbung sollten Sie stattdessen einen CSV-Text einreichen:

import boto3 import json endpoint = 'insert your endpoint name here' runtime = boto3.Session().client('sagemaker-runtime') csv_text = '1,-1.0,1.0,1.5,2.6' # Send CSV text via InvokeEndpoint API response = runtime.invoke_endpoint(EndpointName=endpoint, ContentType='text/csv', Body=csv_text) # Unpack response result = json.loads(response['Body'].read().decode())

Beachten Sie, dass BYOM einen benutzerdefinierten Inhaltstyp erlaubt. Weitere Informationen finden Sie unter runtime_InvokeEndpoint.