Ejecución de transformaciones por lotes con canalizaciones de inferencia - Amazon SageMaker

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.

Ejecución de transformaciones por lotes con canalizaciones de inferencia

Para obtener inferencias sobre un conjunto de datos completo, ejecute una transformación por lotes en un modelo entrenado. Para ejecutar inferencias en un conjunto de datos completo, puede utilizar el mismo modelo de canalización de inferencias que se creó e implementó en un punto de conexión con el procesamiento en tiempo real de trabajos de transformación por lotes. Para ejecutar un trabajo de transformación por lotes en una canalización, descargue los datos de entrada desde Amazon S3 y envíelos en una o varias solicitudes HTTP al modelo de canalización de inferencia. Para ver un ejemplo que muestra cómo preparar los datos para una transformación por lotes, consulte la «Sección 2: Preprocesar los datos de alojamiento sin procesar con Scikit Learn» del cuaderno de muestra Amazon SageMaker Multi-Model Endpoints con Linear Learner. Para obtener información sobre las transformaciones SageMaker por lotes de Amazon, consulteUsa la transformación por lotes para realizar inferencias con Amazon SageMaker.

nota

Para usar imágenes de Docker personalizadas en una canalización que incluye los algoritmos SageMaker integrados de Amazon, necesitas una política de Amazon Elastic Container Registry (ECR). Su repositorio de Amazon ECR debe conceder SageMaker permiso para extraer la imagen. Para obtener más información, consulte Solución de problemas de permisos de Amazon ECR para canalizaciones de inferencia.

El siguiente ejemplo muestra cómo ejecutar un trabajo de transformación con el SDK de Amazon SageMaker Python. En este ejemplo, model_name es la canalización de inferencia que combina modelos SparkML y XGBoost (creada en ejemplos anteriores). La ubicación de Amazon S3 especificada por input_data_path contiene los datos de entrada, en formato CSV, que se van a descargar y envíar al modelo de Spark ML. Una vez finalizado el trabajo de transformación, la ubicación de Amazon S3 especificada por output_data_path contiene los datos de salida devueltos por el modelo de XGBoost en formato CSV.

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')