Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Implemente un modelo compilado mediante SageMaker SDK
Debe cumplir con la sección de requisitos previos si el modelo se compiló con AWS SDK for Python (Boto3) AWS CLI, o la SageMaker consola de Amazon. Siga uno de los siguientes casos de uso para implementar un modelo compilado con SageMaker Neo en función de cómo compiló su modelo.
Temas
Si compiló el modelo mediante SageMaker SDK
El identificador de objeto 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 compiló su modelo utilizando MXNet o PyTorch
Cree el SageMaker modelo e impleméntelo mediante deploy () API en el modelo específico del marco. APIs ParaMXNet, es MXNetModelMMS_DEFAULT_RESPONSE_TIMEOUT
entorno 500
y especificar el entry_point
parámetro como el script de inferencia (inference.py
) y el source_dir
parámetro como la ubicación del directorio (code
) del script de inferencia. Para preparar el script de inferencia (inference.py
), siga el paso de Requisitos previos.
El siguiente ejemplo muestra cómo usar estas funciones para implementar un modelo compilado SageMaker SDK con Python:
nota
Las AmazonS3ReadOnlyAccess
políticas AmazonSageMakerFullAccess
y deben estar asociadas a la AmazonSageMaker-ExecutionRole
IAM función.
Si compiló el modelo con Boto3, SageMaker la consola o el CLI TensorFlow
Construya un objeto TensorFlowModel
y, a continuación, llame a 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)
Consulte Implementación directa a partir de artefactos del modelo
Puede seleccionar una imagen de Docker de Amazon ECR URI que se adapte a sus necesidades de esta lista.
Para obtener más información sobre cómo construir un TensorFlowModel
objeto, consulte la SageMaker SDK
nota
Su primera solicitud de inferencia puede tener una latencia alta si implementa su modelo en unGPU. Esto se debe a que en la primera solicitud de inferencia se crea un kernel de procesamiento optimizado. Le recomendamos que cree un archivo de preparación de las solicitudes de inferencia y lo almacene junto con el archivo del modelo antes de enviarlo a un. TFX Esto se conoce como “calentar” el modelo.
El siguiente fragmento de código muestra cómo producir el archivo de calentamiento para el ejemplo de clasificación de imágenes de la sección de requisitos previos:
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())
Para obtener más información sobre cómo «calentar» tu modelo, consulta la TensorFlow TFX página.