Exécution de transformations par lots avec des pipelines d'inférence - Amazon SageMaker

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Exécution de transformations par lots avec des pipelines d'inférence

Pour obtenir des inférences sur un jeu de données entier, vous exécutez une transformation par lots sur un modèle entraîné. Le même modèle de pipeline d'inférence créé et déployé sur un point de terminaison pour un traitement en temps réel peut également être utilisé dans une tâche de transformation par lots, afin de traiter des inférences sur un ensemble de données complet. Pour exécuter une tâche de transformation par lots dans un pipeline, vous téléchargez les données d'entrée depuis Amazon S3 et vous les envoyez dans une ou plusieurs HTTP requêtes au modèle de pipeline d'inférence. Pour un exemple montrant comment préparer les données pour une transformation par lots, consultez la section « Section 2 - Prétraiter les données brutes du logement à l'aide de Scikit Learn » du carnet d'exemples Amazon SageMaker Multi-Model Endpoints using Linear Learner. Pour plus d'informations sur les transformations SageMaker par lots Amazon, consultezUtilisez la transformation par lots pour exécuter l'inférence avec Amazon SageMaker.

Note

Pour utiliser des images Docker personnalisées dans un pipeline qui inclut les algorithmes SageMaker intégrés d'Amazon, vous avez besoin d'une politique Amazon Elastic Container Registry (ECR). Votre ECR référentiel Amazon doit SageMaker autoriser l'extraction de l'image. Pour de plus amples informations, veuillez consulter Résoudre les problèmes liés aux ECR autorisations Amazon pour les pipelines d'inférence.

L'exemple suivant montre comment exécuter une tâche de transformation à l'aide d'Amazon SageMaker Python SDK. Dans cet exemple, model_name il s'agit du pipeline d'inférence qui combine SparkML XGBoost et des modèles (créés dans les exemples précédents). L'emplacement Amazon S3 spécifié par input_data_path contient les données d'entrée, au CSV format, à télécharger et à envoyer au modèle Spark ML. Une fois la tâche de transformation terminée, l'emplacement Amazon S3 spécifié par output_data_path contient les données de sortie renvoyées par le XGBoost modèle au CSV format.

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