Minta Inferensi dari Layanan yang Didistribusikan (Boto3) - Amazon SageMaker AI

View a markdown version of this page

Minta Inferensi dari Layanan yang Didistribusikan (Boto3) - Amazon SageMaker AI

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Minta Inferensi dari Layanan yang Didistribusikan (Boto3)

Anda dapat mengirimkan permintaan inferensi menggunakan klien dan invoke_endpoint() API SageMaker AI SDK untuk Python (Boto3) setelah Anda memiliki SageMaker titik akhir AI. InService Contoh kode berikut menunjukkan cara mengirim gambar untuk inferensi:

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('utf-8'))
TensorFlow

Untuk TensorFlow mengirimkan masukan dengan application/json untuk jenis konten.

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

Untuk aplikasi XGBoost, Anda harus mengirimkan teks CSV sebagai gantinya:

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('utf-8'))

Perhatikan bahwa BYOM mengizinkan jenis konten khusus. Untuk informasi selengkapnya, lihat runtime_InvokeEndpoint.