Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Menerapkan Model Terkompilasi Menggunakan SageMaker SDK
Anda harus memenuhi bagian prasyarat jika model dikompilasi menggunakan AWS SDK for Python (Boto3),, AWS CLI atau konsol Amazon. 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 menggunakan SageMaker 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 SageMaker model dan terapkan menggunakan deploy () API di bawah API Model khusus kerangka kerja. Untuk MXNet, ini adalah NetModel MX dan PyTorch untuk, memangMMS_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 menyebarkan model yang dikompilasi menggunakan SageMaker SDK untuk Python:
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 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