Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menyebarkan Model yang Dikompilasi Menggunakan SageMaker SDK
Anda harus memenuhi bagian prasyarat jika model dikompilasi menggunakan AWS SDK untuk Python (Boto3) AWS CLI,, atau konsol Amazon SageMaker AI. Ikuti salah satu kasus penggunaan berikut untuk menerapkan model yang dikompilasi dengan SageMaker Neo berdasarkan bagaimana Anda mengkompilasi model Anda.
Topik
Jika Anda mengkompilasi model menggunakan SageMaker SDK
Handle objek ml_c5.
from sagemaker.serve import ModelBuilder model_builder = ModelBuilder( model=compiled_model, role_arn=role, instance_type='ml.c5.4xlarge', ) endpoint = model_builder.build().deploy( initial_instance_count=1, instance_type='ml.c5.4xlarge' ) # Print the name of newly created endpoint print(endpoint.endpoint_name)
Jika Anda mengkompilasi model Anda menggunakan MXnet atau PyTorch
Buat dan terapkan model SageMaker AI menggunakanModelBuilder. Tentukan s3_model_data_url parameter sebagai jalur S3 ke arsip model terkompilasi Anda, role_arn parameter sebagai peran eksekusi Anda, dan instance_type parameter untuk instance target Anda. Anda juga harus mengatur variabel MMS_DEFAULT_RESPONSE_TIMEOUT lingkungan ke500.
Contoh berikut menunjukkan cara menggunakan fungsi-fungsi ini untuk menerapkan model yang dikompilasi menggunakan SageMaker Python SDK:
from sagemaker.serve import ModelBuilder # V3 uses a unified ModelBuilder approach for all frameworks model_builder = ModelBuilder( s3_model_data_url='insert S3 path of compiled model archive', role_arn='AmazonSageMaker-ExecutionRole', instance_type='ml.p3.2xlarge', env={'MMS_DEFAULT_RESPONSE_TIMEOUT': '500'}, ) endpoint = model_builder.build().deploy( initial_instance_count=1, instance_type='ml.p3.2xlarge' ) # Print the name of newly created endpoint print(endpoint.endpoint_name)
catatan
AmazonS3ReadOnlyAccessKebijakan AmazonSageMakerFullAccess dan harus dilampirkan pada peran AmazonSageMaker-ExecutionRole IAM.
Jika Anda mengkompilasi model Anda menggunakan Boto3, SageMaker konsol, atau CLI untuk TensorFlow
Buat objek model, lalu panggil deploy:
from sagemaker.serve import ModelBuilder model_builder = ModelBuilder( s3_model_data_url='S3 path for model file', role_arn=role, instance_type='ml.c5.xlarge', ) endpoint = model_builder.build().deploy( initial_instance_count=1, instance_type='ml.c5.xlarge' )
Lihat Men yebarkan langsung dari artefak model
Anda dapat memilih gambar Docker Amazon ECR URI yang memenuhi kebutuhan Anda dari daftar https://docs.aws.amazon.com/sagemaker/latest/dg/neo-deployment-hosting-services-container-images.html ini.
Untuk informasi selengkapnya tentang cara membuat TensorFlowModel objek, lihat SageMaker SDK
catatan
Permintaan inferensi pertama Anda mungkin memiliki latensi tinggi jika Anda menerapkan model Anda pada GPU. Ini karena kernel komputasi yang dioptimalkan dibuat pada permintaan inferensi pertama. Kami menyarankan Anda membuat file pemanasan permintaan inferensi dan menyimpannya di samping file model Anda sebelum mengirimkannya ke TFX. Ini dikenal sebagai “pemanasan” model.
Cuplikan kode berikut menunjukkan cara menghasilkan file pemanasan untuk contoh klasifikasi gambar di bagian prasyarat:
import tensorflow as tf from tensorflow_serving.apis import classification_pb2 from tensorflow_serving.apis import inference_pb2 from tensorflow_serving.apis import model_pb2 from tensorflow_serving.apis import predict_pb2 from tensorflow_serving.apis import prediction_log_pb2 from tensorflow_serving.apis import regression_pb2 import numpy as np with tf.python_io.TFRecordWriter("tf_serving_warmup_requests") as writer: img = np.random.uniform(0, 1, size=[224, 224, 3]).astype(np.float32) img = np.expand_dims(img, axis=0) test_data = np.repeat(img, 1, axis=0) request = predict_pb2.PredictRequest() request.model_spec.name = 'compiled_models' request.model_spec.signature_name = 'serving_default' request.inputs['Placeholder:0'].CopyFrom(tf.compat.v1.make_tensor_proto(test_data, shape=test_data.shape, dtype=tf.float32)) log = prediction_log_pb2.PredictionLog( predict_log=prediction_log_pb2.PredictLog(request=request)) writer.write(log.SerializeToString())
Untuk informasi lebih lanjut tentang cara “menghangatkan” model Anda, lihat halaman TensorFlow