View a markdown version of this page

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

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. 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 von Amazon SageMaker Multi-Model Endpoints using Linear Learner unter Verwendung von Linear Learner unter Verwendung von Linear Learner. Informationen zu Amazon SageMaker AI-Batch-Transformationen finden Sie unter. Batch-Transformation für Inferenz mit Amazon AI SageMaker

Anmerkung

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

Das folgende Beispiel zeigt, wie Sie einen Transformationsjob mithilfe des Amazon SageMaker Python SDK ausführen. In diesem Beispiel ist model_name die Inferenz-Pipeline, die (in früheren Beispielen erstellte) SparkML- und XGBoost-Modelle kombiniert. 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 enthält die von output_data_path angegebene Amazon-S3-Position die vom XGBoost-Modell zurückgegebenen Ausgabedaten im CSV-Format.

from sagemaker.transform import TransformJob input_data_path = 's3://{}/{}/{}'.format(default_bucket, 'key', 'file_name') output_data_path = 's3://{}/{}'.format(default_bucket, 'key') transform_job = TransformJob.create( model_name = model_name, transform_input = { 'DataSource': { 'S3DataSource': { 'S3DataType': 'S3Prefix', 'S3Uri': input_data_path } }, 'ContentType': CONTENT_TYPE_CSV, 'SplitType': 'Line' }, transform_output = { 'S3OutputPath': output_data_path, 'Accept': CONTENT_TYPE_CSV, 'AssembleWith': 'Line' }, transform_resources = { 'InstanceType': 'ml.m4.xlarge', 'InstanceCount': 1 }, transform_job_name = 'inference-pipelines-batch', batch_strategy = 'SingleRecord' )