Daten zwischen Schritten weitergeben - 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.

Daten zwischen Schritten weitergeben

Wenn Sie Pipelines mit Amazon SageMaker Pipelines erstellen, müssen Sie möglicherweise Daten von einem Schritt zum nächsten weitergeben. Beispielsweise möchten Sie möglicherweise die durch einen Trainingsschritt generierten Modellartefakte als Eingabe für eine Modellevaluierung oder einen Implementierungsschritt verwenden. Sie können diese Funktionalität verwenden, um voneinander abhängige Pipeline-Schritte zu erstellen und Ihre ML-Workflows zu erstellen.

Wenn Sie Informationen aus der Ausgabe eines Pipeline-Schritts abrufen müssen, können Sie verwendenJsonGet. JsonGethilft Ihnen beim Extrahieren von Informationen aus Amazon S3 oder Eigenschaftendateien. In den folgenden Abschnitten werden Methoden beschrieben, mit denen Sie Schrittausgaben extrahieren könnenJsonGet.

Übergeben Sie Daten zwischen Schritten mit Amazon S3

Sie können JsonGet in a verwendenConditionStep, um die JSON Ausgabe direkt von Amazon S3 abzurufen. Amazon S3 URI kann eine Std:Join Funktion sein, die primitive Zeichenketten, Pipeline-Ausführungsvariablen oder Pipeline-Parameter enthält. Das folgende Beispiel zeigt, wie Sie Folgendes verwenden JsonGet könnenConditionStep:

# Example json file in s3 bucket generated by a processing_step { "Output": [5, 10] } cond_lte = ConditionLessThanOrEqualTo( left=JsonGet( step_name="<step-name>", s3_uri="<s3-path-to-json>", json_path="Output[1]" ), right=6.0 )

Wenn Sie im Bedingungsschritt einen Amazon S3 S3-Pfad verwendenJsonGet, müssen Sie explizit eine Abhängigkeit zwischen dem Bedingungsschritt und dem Schritt hinzufügen, der die JSON Ausgabe generiert. Im folgenden Beispiel wird der Bedingungsschritt mit einer Abhängigkeit vom Verarbeitungsschritt erstellt:

cond_step = ConditionStep( name="<step-name>", conditions=[cond_lte], if_steps=[fail_step], else_steps=[register_model_step], depends_on=[processing_step], )

Übergeben Sie Daten mit Eigenschaftendateien zwischen Schritten

Verwenden Sie Eigenschaftendateien, um Informationen aus der Ausgabe eines Verarbeitungsschritts zu speichern. Dies ist besonders nützlich, wenn die Ergebnisse eines Verarbeitungsschritts analysiert werden, um zu entscheiden, wie ein bedingter Schritt ausgeführt werden soll. Die JsonGet Funktion verarbeitet eine Eigenschaftendatei und ermöglicht es Ihnen, die JSON Eigenschaftendatei mithilfe der JsonPath Notation abzufragen. Weitere Informationen zur JsonPath Notation finden Sie im JsonPath Repo.

Um eine Eigenschaftendatei für die spätere Verwendung zu speichern, müssen Sie zunächst eine PropertyFile Instance mit dem folgenden Format erstellen. Der path Parameter ist der Name der JSON Datei, in der die Eigenschaftendatei gespeichert wird. Jedes output_name muss mit dem output_name des ProcessingOutput übereinstimmen, das Sie in Ihrem Verarbeitungsschritt definieren. Dadurch kann die Eigenschaftendatei die ProcessingOutput in dem Schritt erfassen.

from sagemaker.workflow.properties import PropertyFile <property_file_instance> = PropertyFile( name="<property_file_name>", output_name="<processingoutput_output_name>", path="<path_to_json_file>" )

Wenn Sie Ihre ProcessingStep Instance erstellen, fügen Sie den property_files Parameter hinzu, um alle Parameterdateien aufzulisten, die der Amazon SageMaker Pipelines-Service indizieren muss. Dadurch wird die Eigenschaftendatei für die spätere Verwendung gespeichert.

property_files=[<property_file_instance>]

Um Ihre Eigenschaftendatei in einem Bedingungsschritt property_file zu verwenden, fügen Sie der Bedingung, die Sie an Ihren Bedingungsschritt übergeben, wie im folgenden Beispiel gezeigt, hinzu, um die JSON Datei für Ihre gewünschte Eigenschaft mithilfe des json_path Parameters abzufragen.

cond_lte = ConditionLessThanOrEqualTo( left=JsonGet( step_name=step_eval.name, property_file=<property_file_instance>, json_path="mse" ), right=6.0 )

Ausführlichere Beispiele finden Sie unter Property File in Amazon SageMaker Python SDK.