Executar transformações em lotes com pipelines de inferência - Amazon SageMaker

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á.

Executar transformações em lotes com pipelines de inferência

Para obter inferências em um conjunto de dados inteiro, execute uma transformação em lote em um modelo treinado. Para executar inferências em um conjunto de dados inteiro, é possível usar o mesmo modelo de pipeline de inferência criado e implantado em um endpoint para o processamento em tempo real de um trabalho de transformação em lote. Para executar um trabalho de transformação em lote em um pipeline, você baixa os dados de entrada do Amazon S3 e os envia em uma ou mais HTTP solicitações para o modelo de pipeline de inferência. Para ver um exemplo que mostra como preparar dados para uma transformação em lote, consulte “Seção 2 - Pré-processar os dados brutos de alojamento usando o Scikit Learn” do Amazon SageMaker Multi-Model Endpoints usando o caderno de amostra Linear Learner. Para obter informações sobre as transformações SageMaker em lote da Amazon, consulteUse a transformação em lote para executar inferência com a Amazon SageMaker.

nota

Para usar imagens personalizadas do Docker em um pipeline que inclui algoritmos SageMaker integrados da Amazon, você precisa de uma política do Amazon Elastic Container Registry (ECR). Seu ECR repositório da Amazon deve conceder SageMaker permissão para extrair a imagem. Para obter mais informações, consulte Solucionar problemas de ECR permissões da Amazon para pipelines de inferência.

O exemplo a seguir mostra como executar um trabalho de transformação usando o Amazon SageMaker Python SDK. Neste exemplo, model_name está o pipeline de inferência que combina SparkML XGBoost e modelos (criados nos exemplos anteriores). A localização do Amazon S3 especificada por input_data_path contém os dados de entrada, em CSV formato, a serem baixados e enviados para o modelo Spark ML. Depois que o trabalho de transformação for concluído, a localização do Amazon S3 especificada por output_data_path contém os dados de saída retornados pelo XGBoost modelo em CSV formato.

import sagemaker input_data_path = 's3://{}/{}/{}'.format(default_bucket, 'key', 'file_name') output_data_path = 's3://{}/{}'.format(default_bucket, 'key') transform_job = sagemaker.transformer.Transformer( model_name = model_name, instance_count = 1, instance_type = 'ml.m4.xlarge', strategy = 'SingleRecord', assemble_with = 'Line', output_path = output_data_path, base_transform_job_name='inference-pipelines-batch', sagemaker_session=sagemaker.Session(), accept = CONTENT_TYPE_CSV) transform_job.transform(data = input_data_path, content_type = CONTENT_TYPE_CSV, split_type = 'Line')