Batch-Transformationen mit Inferenz-Pipelines - Amazon SageMaker KI

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.

Batch-Transformationen 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. Für einen Stapeltransformationsauftrag in einer Pipeline werden die Eingaben von Amazon S3 heruntergeladen und in einer oder mehreren HTTP-Anfragen an ein Inferenz-Pipeline-Modell gesendet. 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 Amazon SageMaker AI-Batch-Transformationen finden Sie unterBatch-Transformation für Inferenz mit Amazon AI SageMaker .

Anmerkung

Um benutzerdefinierte Docker-Images in einer Pipeline zu verwenden, die in Amazon SageMaker AI integrierte Algorithmen enthält, benötigen Sie eine Amazon Elastic Container Registry (ECR) -Richtlinie. Ihr Amazon ECR-Repository muss SageMaker KI die Erlaubnis erteilen, das Bild abzurufen. Weitere Informationen finden Sie unter Beheben von Problemen mit Amazon ECR-Berechtigungen für Inferenz-Pipelines.

Das folgende Beispiel zeigt, wie ein Transformationsjob mit dem Amazon SageMaker Python SDK ausgeführt wird. In diesem Beispiel model_name handelt es sich um die Inferenz-Pipeline, die SparkML und XGBoost Modelle kombiniert (die in den vorherigen Beispielen erstellt wurden). Die von input_data_path angegebene Amazon-S3-Position enthält die Eingabedaten im CSV-Format zum Herunterladen und Senden an das Spark ML-Modell. 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')