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.
Stellen Sie ein kompiliertes Modell bereit mit SageMaker SDK
Sie müssen den Abschnitt mit den Voraussetzungen erfüllen, wenn das Modell mit AWS SDK for Python (Boto3) AWS CLI, oder der SageMaker Amazon-Konsole kompiliert wurde. Folgen Sie einem der folgenden Anwendungsfälle, um ein mit SageMaker Neo kompiliertes Modell bereitzustellen, das auf der Art und Weise basiert, wie Sie Ihr Modell kompiliert haben.
Themen
Wenn Sie Ihr Modell mit dem kompiliert haben SageMaker SDK
Das Objekthandle 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)
Wenn Sie Ihr Modell mit MXNet oder kompiliert haben PyTorch
Erstellen Sie das SageMaker Modell und stellen Sie es mithilfe von deploy () API unter dem Framework-spezifischen Modell bereit. APIs Denn MXNet es ist MXNetModelMMS_DEFAULT_RESPONSE_TIMEOUT
Umgebungsvariable auf festlegen 500
und den entry_point
Parameter als Inferenzskript (inference.py
) und den source_dir
Parameter als Verzeichnispfad (code
) des Inferenzskripts angeben. Um das Inferenzskript (inference.py
) vorzubereiten, folgen Sie dem Schritt Voraussetzungen.
Das folgende Beispiel zeigt, wie Sie diese Funktionen verwenden, um ein kompiliertes Modell mithilfe von SageMaker SDK for Python bereitzustellen:
Anmerkung
Die AmazonS3ReadOnlyAccess
Richtlinien AmazonSageMakerFullAccess
und müssen der AmazonSageMaker-ExecutionRole
IAM Rolle angehängt werden.
Wenn Sie Ihr Modell mit Boto3, der SageMaker Konsole oder dem for kompiliert haben CLI TensorFlow
Konstruieren Sie ein TensorFlowModel
Objekt und rufen Sie anschließend deploy auf:
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)
Weitere Informationen finden Sie unter Direktes Deployment aus Modellartefakten
Sie können aus dieser Liste ein Docker-Image von Amazon auswählen ECRURI, das Ihren Anforderungen entspricht.
Weitere Informationen zum Konstruieren eines TensorFlowModel
Objekts finden Sie unter SageMaker SDK
Anmerkung
Ihre erste Inferenzanforderung kann eine hohe Latenz aufweisen, wenn Sie Ihr Modell auf einem GPU bereitstellen. Dies liegt daran, dass bei der ersten Inferenzanforderung ein optimierter Rechenkern erstellt wird. Wir empfehlen Ihnen, eine Aufwärmdatei mit Inferenzanfragen zu erstellen und diese zusammen mit Ihrer Modelldatei zu speichern, bevor Sie sie an a senden. TFX Dies wird als „Aufwärmen“ des Modells bezeichnet.
Der folgende Codeausschnitt zeigt im Abschnitt mit den Voraussetzungen, wie die Aufwärmdatei für die Bildklassifizierung erstellt wird:
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())
Weitere Informationen zum „Aufwärmen“ Ihres Modells finden Sie auf der Seite. TensorFlow TFX