Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Anda harus memenuhi bagian prasyarat jika model dikompilasi menggunakan AWS SDK untuk Python (Boto3),, AWS CLI atau konsol Amazon AI. SageMaker Ikuti salah satu kasus penggunaan berikut untuk menerapkan model yang dikompilasi dengan SageMaker Neo berdasarkan cara Anda mengkompilasi model Anda.
Topik
Jika Anda mengkompilasi model Anda menggunakan SageMaker AI SDK
Pegangan objek SageMaker.modelml_c5
predictor = compiled_model.deploy(initial_instance_count = 1, instance_type = 'ml.c5.4xlarge')
# Print the name of newly created endpoint
print(predictor.endpoint_name)
Jika Anda mengkompilasi model Anda menggunakan MXNet atau PyTorch
Buat model SageMaker AI dan terapkan menggunakan deploy () API di bawah Model khusus kerangka kerja. APIs Karena MXNet, itu adalah MXNetModelMMS_DEFAULT_RESPONSE_TIMEOUT
lingkungan ke 500
dan menentukan entry_point
parameter sebagai skrip inferensi (inference.py
) dan source_dir
parameter sebagai lokasi direktori (code
) dari skrip inferensi. Untuk menyiapkan skrip inferensi (inference.py
) ikuti langkah Prasyarat.
Contoh berikut menunjukkan cara menggunakan fungsi-fungsi ini untuk menerapkan model yang dikompilasi menggunakan SageMaker AI SDK untuk Python:
from sagemaker.mxnet import MXNetModel
# Create SageMaker model and deploy an endpoint
sm_mxnet_compiled_model = MXNetModel(
model_data='insert S3 path of compiled MXNet model archive'
,
role='AmazonSageMaker-ExecutionRole',
entry_point='inference.py',
source_dir='code',
framework_version='1.8.0',
py_version='py3',
image_uri='insert appropriate ECR Image URI for MXNet'
,
env={'MMS_DEFAULT_RESPONSE_TIMEOUT': '500'},
)
# Replace the example instance_type below to your preferred instance_type
predictor = sm_mxnet_compiled_model.deploy(initial_instance_count = 1, instance_type = 'ml.p3.2xlarge')
# Print the name of newly created endpoint
print(predictor.endpoint_name)
catatan
AmazonS3ReadOnlyAccess
Kebijakan AmazonSageMakerFullAccess
dan kebijakan harus dilampirkan pada peran AmazonSageMaker-ExecutionRole
IAM.
Jika Anda mengkompilasi model Anda menggunakan Boto3, SageMaker konsol, atau CLI untuk TensorFlow
Buat TensorFlowModel
objek, lalu panggil deploy:
role='AmazonSageMaker-ExecutionRole'
model_path='S3 path for model file'
framework_image='inference container arn'
tf_model = TensorFlowModel(model_data=model_path,
framework_version='1.15.3',
role=role,
image_uri=framework_image)
instance_type='ml.c5.xlarge'
predictor = tf_model.deploy(instance_type=instance_type,
initial_instance_count=1)
Lihat Menerapkan langsung dari artefak model untuk informasi
Anda dapat memilih gambar Docker Amazon ECR URI yang memenuhi kebutuhan Anda dari daftar ini.
Untuk informasi selengkapnya tentang cara membuat TensorFlowModel
objek, lihat SageMaker AI 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.
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 TFX