As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Implemente um modelo compilado usando o SageMaker AI SDK
Você deve atender à seção de pré-requisitos se o modelo tiver sido compilado usando AWS SDK for Python (Boto3) o console Amazon AI ou o console Amazon SageMaker AI. AWS CLI Siga um dos seguintes casos de uso para implantar um modelo compilado com SageMaker o Neo com base em como você compilou seu modelo.
Tópicos
Se você compilou seu modelo usando o SageMaker AI SDK
O 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)
Se você compilou seu modelo usando MXNet ou PyTorch
Crie o modelo de SageMaker IA e implante-o usando a API deploy () no modelo específico da estrutura. APIs Pois MXNet, é MXNetmodeloMMS_DEFAULT_RESPONSE_TIMEOUT
ambiente 500
e especificar o entry_point
parâmetro como o script de inferência (inference.py
) e o source_dir
parâmetro como a localização do diretório (code
) do script de inferência. Para preparar o script de inferência (inference.py
), siga a etapa Pré-requisitos.
O exemplo a seguir mostra como usar essas funções para implantar um modelo compilado usando o SageMaker AI SDK para Python:
nota
As políticas AmazonSageMakerFullAccess
e AmazonS3ReadOnlyAccess
devem ser anexadas à função IAM AmazonSageMaker-ExecutionRole
.
Se você compilou seu modelo usando o Boto3, o SageMaker console ou a CLI para TensorFlow
Construa um objeto TensorFlowModel
e chame implantar:
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 Implantação diretamente dos artefatos do modelo
Você pode selecionar uma imagem do Docker (URI do Amazon ECR) que atenda às suas necessidades nessa lista.
Para obter mais informações sobre como construir um TensorFlowModel
objeto, consulte o SDK do SageMaker AI
nota
Sua primeira solicitação de inferência pode ter alta latência se você implantar seu modelo em uma GPU. Isso ocorre porque um kernel de computação otimizado é feito na primeira solicitação de inferência. Recomendamos que você crie um arquivo de aquecimento das solicitações de inferência e o armazene junto com seu arquivo de modelo antes de enviá-lo para um TFX. Isso é conhecido como “aquecimento” do modelo.
O trecho de código a seguir demonstra como produzir o arquivo de aquecimento para o exemplo de classificação de imagens na seção de pré-requisitos:
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 obter mais informações sobre como “aquecer” seu modelo, consulte a página do TensorFlow TFX