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á.
Use EI em endpoints SageMaker hospedados pela Amazon
Para usar o Elastic Inference (EI) na Amazon SageMaker com um endpoint hospedado para inferência em tempo real, especifique um acelerador de EI ao criar o modelo implantável para ser hospedado nesse endpoint. Você pode fazer isso por meio de uma das seguintes maneiras:
-
Use as versões do Amazon SageMaker Python SDK
do, TensorFlow MXNet ou e os contêineres SageMaker pré-criados para, MXNet PyTorch e TensorFlow PyTorch -
Crie seu próprio contêiner e use a SageMaker API de baixo nível (Boto 3). Você precisará importar a versão habilitada para EI do TensorFlow MXNet ou dos locais fornecidos PyTorch do Amazon S3 para o seu contêiner e usar uma dessas versões para escrever seu script de treinamento.
-
Use os algoritmos integrados Classificação de imagens - MXNet ou Detecção de objetos - MXNet e use o AWS SDK for Python (Boto3) para executar o trabalho de treinamento e criar o modelo implantável e o endpoint hospedado.
Tópicos
Use EI com um SageMaker TensorFlow contêiner
Para usar TensorFlow com o EI em SageMaker, você precisa chamar o deploy
método dos objetos Estimator ou
SageMaker fornece treinamento de modelo padrão e código de inferência para sua conveniência. Para formatos de arquivo personalizados, pode ser necessário implementar um código de treinamento e inferência de modelo personalizado.
Usar um objeto estimador
Para usar um objeto estimador com o EI, ao usar o método de implantação, inclua o argumento de entrada accelerator_type
. O estimador retorna um objeto preditor que chamamos de seu método de implantação, conforme mostrado no código de exemplo.
# Deploy an estimator using EI (using the accelerator_type input argument) predictor = estimator.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge', accelerator_type='ml.eia2.medium')
Usar um objeto de modelo
Para usar um objeto de modelo com EI, ao usar o método de implantação, inclua o argumento de entrada accelerator_type
. O estimador retorna um objeto preditor que chamamos de seu método de implantação, conforme mostrado no código de exemplo.
# Deploy a model using EI (using the accelerator_type input argument) predictor = model.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge', accelerator_type='ml.eia2.medium')
Use EI com um contêiner SageMaker MXNet
Para usar o MXNet com EI em SageMaker, você precisa chamar o deploy
método dos objetos Estimator ouaccelerator_type
. Para obter informações sobre o uso do MXNet no SDK do Amazon SageMaker Python
Para sua conveniência, SageMaker fornece treinamento de modelo padrão e código de inferência. Para formatos de arquivo personalizados, pode ser necessário escrever um código de treinamento e inferência de modelo personalizado.
Usar um objeto estimador
Para usar um objeto estimador com o EI, ao usar o método de implantação, inclua o argumento de entrada accelerator_type
. O estimador retorna um objeto preditor que chamamos de seu método de implantação, conforme mostrado no código de exemplo.
# Deploy an estimator using EI (using the accelerator_type input argument) predictor = estimator.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge', accelerator_type='ml.eia2.medium')
Usar um objeto de modelo
Para usar um objeto de modelo com EI, ao usar o método de implantação, inclua o argumento de entrada accelerator_type
. O estimador retorna um objeto preditor que chamamos de seu método de implantação, conforme mostrado no código de exemplo.
# Deploy a model using EI (using the accelerator_type input argument) predictor = model.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge', accelerator_type='ml.eia2.medium')
Use EI com um SageMaker PyTorch contêiner
Para usar PyTorch com o EI em SageMaker, você precisa chamar o deploy
método dos objetos Estimator ouaccelerator_type
. Para obter informações sobre o uso PyTorch no SDK do Amazon SageMaker Python
Para sua conveniência, SageMaker fornece treinamento de modelo padrão e código de inferência. Para formatos de arquivo personalizados, pode ser necessário escrever um código de treinamento e inferência de modelo personalizado.
Usar um objeto estimador
Para usar um objeto estimador com o EI, ao usar o método de implantação, inclua o argumento de entrada accelerator_type
. O estimador retorna um objeto preditor, que chamamos de seu método de implantação, conforme mostrado nesse código de exemplo.
# Deploy an estimator using EI (using the accelerator_type input argument) predictor = estimator.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge', accelerator_type='ml.eia2.medium')
Usar um objeto de modelo
Para usar um objeto de modelo com EI, ao usar o método de implantação, inclua o argumento de entrada accelerator_type
. O modelo retorna um objeto preditor, que chamamos de seu método de implantação, conforme mostrado nesse código de exemplo.
# Deploy a model using EI (using the accelerator_type input argument) predictor = model.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge', accelerator_type='ml.eia2.medium')
Usar EI com i seu próprio contêiner
Para usar o EI com um modelo em um contêiner personalizado que você cria, use o AWS SDK de baixo nível para Python (Boto 3). baixe e importe as versões AWS habilitadas para EI do Apache MXNet PyTorch ou das TensorFlow estruturas de aprendizado de máquina e escreva seu script de treinamento usando essas estruturas.
Importe a versão EI do TensorFlow, MXNet ou PyTorch para o seu contêiner Docker
Para usar o EI com seu próprio contêiner, você precisa importar a biblioteca Amazon EI TensorFlow Serving, a biblioteca Amazon EI Apache MXNet ou a biblioteca PyTorch habilitada para Elastic Inference em seu contêiner. As versões habilitadas para EI do e do TensorFlow MXNet estão atualmente disponíveis como arquivos binários armazenados em locais do Amazon S3. Você pode baixar o binário habilitado para EI do bucket Amazon S3 em TensorFlow console.aws.amazon.com/s3/buckets/amazonei-tensorflow.
Crie um endpoint de EI com o AWS SDK para Python (Boto 3)
Para criar um endpoint usando o AWS SDK for Python (Boto 3), primeiro crie uma configuração de endpoint. A configuração de endpoint especifica um ou mais modelos (chamados de variantes de produção) que você deseja hospedar no endpoint. Para anexar o EI a uma ou mais das variantes de produção hospedados no endpoint, você especifica um dos tipos de instância de EI como o campo AcceleratorType
para essa ProductionVariant
. Em seguida, você transmite essa configuração de endpoint ao criar o endpoint.
Criar uma configuração de endpoint
Para usar o EI, é necessário especificar um tipo de aceleradora na configuração de endpoint:
# Create Endpoint Configuration from time import gmtime, strftime endpoint_config_name = 'ImageClassificationEndpointConfig-' + strftime("%Y-%m-%d-%H-%M-%S", gmtime()) print(endpoint_config_name) create_endpoint_config_response = sagemaker.create_endpoint_config( EndpointConfigName = endpoint_config_name, ProductionVariants=[{ 'InstanceType':'ml.m4.xlarge', 'InitialInstanceCount':1, 'ModelName':model_name, 'VariantName':'AllTraffic', 'AcceleratorType':'ml.eia2.medium'}]) print("Endpoint Config Arn: " + create_endpoint_config_response['EndpointConfigArn'])
Criar um endpoint
Depois de criar uma configuração de endpoint com um tipo de aceleradora, é possível criar um endpoint.
endpoint_name = 'ImageClassificationEndpoint-' + strftime("%Y-%m-%d-%H-%M-%S", gmtime()) endpoint_response = sagemaker.create_endpoint( EndpointName=endpoint_name, EndpointConfigName=endpoint_config_name)
Depois de criar o endpoint, é possível invocá-lo usando o método invoke_endpoint
em um objeto do tempo de execução Boto3, como faria com qualquer outro endpoint.