Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Déployez un modèle compilé à l'aide de SageMaker SDK
Vous devez satisfaire à la section des prérequis si le modèle a été compilé à l'aide de AWS SDK for Python (Boto3) AWS CLI, ou de la SageMaker console Amazon. Suivez l'un des cas d'utilisation suivants pour déployer un modèle compilé avec SageMaker Neo en fonction de la façon dont vous avez compilé votre modèle.
Rubriques
Si vous avez compilé votre modèle à l'aide du SageMaker SDK
Le gestionnaire d'objet 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)
Si vous avez compilé votre modèle en utilisant MXNet ou PyTorch
Créez le SageMaker modèle et déployez-le à l'aide de deploy () API dans le modèle spécifique au framework. APIs PourMXNet, c'est MXNetModelMMS_DEFAULT_RESPONSE_TIMEOUT
environnement sur 500
et spécifier le entry_point
paramètre en tant que script d'inférence (inference.py
) et le source_dir
paramètre en tant qu'emplacement du répertoire (code
) du script d'inférence. Pour préparer le script d'inférence (inference.py
) suivez l'étape Prérequis.
L'exemple suivant montre comment utiliser ces fonctions pour déployer un modèle compilé à l'aide de SageMaker SDK for Python :
Note
Les AmazonS3ReadOnlyAccess
politiques AmazonSageMakerFullAccess
et doivent être associées au AmazonSageMaker-ExecutionRole
IAM rôle.
Si vous avez compilé votre modèle à l'aide de Boto3, de SageMaker la console ou du CLI TensorFlow
Créez un objet TensorFlowModel
, puis appelez la fonction 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)
Pour de plus amples informations, veuillez consulter Deploying directly from model artifacts (Déploiement direct à partir d'artefacts du modèle)
Vous pouvez sélectionner une image Docker Amazon ECR URI qui répond à vos besoins dans cette liste.
Pour plus d'informations sur la construction d'un TensorFlowModel
objet, consultez le SageMaker SDK
Note
Votre première demande d'inférence peut présenter une latence élevée si vous déployez votre modèle sur unGPU. Cela vient du fait qu'un noyau de calcul optimisé est créé sur la première demande d'inférence. Nous vous recommandons de créer un fichier de préchauffage contenant les demandes d'inférence et de le stocker à côté de votre fichier modèle avant de l'envoyer à un. TFX C'est ce que l'on appelle « préparer » le modèle.
L'extrait de code suivant montre comment produire le fichier de préparation pour l'exemple de classification d'image dans la section Prérequis :
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())
Pour plus d'informations sur la façon de « réchauffer » votre modèle, consultez la TensorFlow TFXpage