Ausführen von Stapeltransformationen mit Inferenz-Pipelines - Amazon SageMaker

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Ausführen von Stapeltransformationen mit Inferenz-Pipelines

Um Inferenzen für einen gesamten Datensatz zu erhalten, führen Sie eine Batch-Transformation für ein trainiertes Modell aus. Zur Ausführung von Inferenzen für einen vollständigen Datensatz können Sie dasselbe Inferenz-Pipeline-Modell verwenden, das für einen Endpunkt zur Echtzeitverarbeitung in einem Stapelumwandlungsauftrag erstellt und bereitgestellt wurde. Um einen Batch-Transformationsjob in einer Pipeline auszuführen, laden Sie die Eingabedaten von Amazon S3 herunter und senden sie in einer oder mehreren HTTP Anfragen an das Inferenz-Pipeline-Modell. Ein Beispiel, das zeigt, wie Daten für eine Batch-Transformation vorbereitet werden, finden Sie im Beispielnotizbuch Amazon SageMaker Multi-Model Endpoints using Linear Learner „Abschnitt 2 — Vorverarbeitung der Rohdaten von Housing mit Scikit Learn“. Informationen zu SageMaker Amazon-Batch-Transformationen finden Sie unterVerwenden Sie die Batch-Transformation, um Inferenzen mit Amazon auszuführen SageMaker.

Anmerkung

Um benutzerdefinierte Docker-Images in einer Pipeline zu verwenden, die SageMaker integrierte Amazon-Algorithmen enthält, benötigen Sie eine Amazon Elastic Container Registry (ECR) -Richtlinie. Ihr ECR Amazon-Repository muss die SageMaker Erlaubnis erteilen, das Bild abzurufen. Weitere Informationen finden Sie unter Problembehandlung bei Amazon ECR Permissions for Inference Pipelines.

Das folgende Beispiel zeigt, wie ein Transformationsjob mit Amazon SageMaker Python ausgeführt wirdSDK. In diesem Beispiel model_name handelt es sich um die Inferenzpipeline, die SparkML und XGBoost Modelle kombiniert (die in den vorherigen Beispielen erstellt wurden). Der von angegebene Amazon S3 S3-Speicherort input_data_path enthält die Eingabedaten im CSV Format, die heruntergeladen und an das Spark-ML-Modell gesendet werden sollen. Nach Abschluss des Transformationsauftrags output_data_path enthält der von angegebene Amazon S3 S3-Speicherort die vom XGBoost Modell zurückgegebenen Ausgabedaten im 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')