Übergeben von Daten zwischen Schritten - 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.

Übergeben von Daten zwischen Schritten

Wenn Sie Informationen aus der Ausgabe eines Pipeline-Schritts abrufen müssen, können Sie verwendenJsonGet. JsonGet hilft Ihnen, Informationen aus Amazon S3- oder -Eigenschaftsdateien zu extrahieren. In den folgenden Abschnitten werden Methoden erläutert, mit denen Sie Schrittausgaben mit extrahieren könnenJsonGet.

Übergeben von Daten zwischen Schritten mit Amazon S3

Sie können JsonGet in einem verwendenConditionStep, um die JSON-Ausgabe direkt von Amazon S3 abzurufen. Der Amazon S3-URI kann eine Std:Join Funktion sein, die primitive Zeichenfolgen, Pipeline-Ausführungsvariablen oder Pipeline-Parameter enthält. Das folgende Beispiel zeigt, wie Sie JsonGet in einem verwenden 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 JsonGet mit einem Amazon S3-Pfad im Bedingungsschritt verwenden, 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 von Daten zwischen Schritten mit Eigenschaftsdateien

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 Eigenschaftsdatei und ermöglicht es Ihnen, die JsonPath Notation zu verwenden, um die Eigenschafts-JSON-Datei 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 Instanz 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 Model Building Pipelines-Service indizieren muss. Dadurch wird die Eigenschaftendatei für die spätere Verwendung gespeichert.

property_files=[<property_file_instance>]

Um Ihre Eigenschaftsdatei in einem Bedingungsschritt zu verwenden, fügen Sie property_file zu der Bedingung hinzu, die Sie an Ihren Bedingungsschritt übergeben, wie im folgenden Beispiel gezeigt, um die JSON-Datei mit dem Parameter json_path nach der gewünschten Eigenschaft 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 Eigenschaftsdatei im Amazon SageMaker Python SDK .