Informationen zu und von Ihrem Notebook weiterleiten Schritt - 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.

Informationen zu und von Ihrem Notebook weiterleiten Schritt

In den folgenden Abschnitten werden Möglichkeiten beschrieben, Informationen als Umgebungsvariablen und Parameter an Ihr Notebook zu übergeben.

Umgebungsvariablen übergeben

Übergeben Sie Umgebungsvariablen als Wörterbuch an Ihr environment_variable ArgumentNotebookJobStep, wie im folgenden Beispiel gezeigt:

environment_variables = {"RATE": 0.0001, "BATCH_SIZE": 1000} notebook_job_step = NotebookJobStep( ... environment_variables=environment_variables, ... )

Sie können die Umgebungsvariablen im Notebook verwendenos.getenv(), wie im folgenden Beispiel gezeigt:

# inside your notebook import os print(f"ParentNotebook: env_key={os.getenv('env_key')}")

Parameter übergeben

Wenn Sie Parameter an den ersten Notebook-Job-Schritt in Ihrer NotebookJobStep Instance übergeben, möchten Sie möglicherweise optional eine Zelle in Ihrem Jupyter-Notebook taggen, um anzugeben, wo neue Parameter oder Parameterüberschreibungen angewendet werden sollen. Anweisungen zum Markieren einer Zelle im Jupyter Notebook finden Sie unter Parametrisieren Ihres Notebooks.

Sie übergeben Parameter über den parameters Parameter des Schritts Notebook Job, wie im folgenden Codeausschnitt dargestellt:

notebook_job_parameters = { "company": "Amazon", } notebook_job_step = NotebookJobStep( ... parameters=notebook_job_parameters, ... )

In Ihrem Eingabe-Notebook werden Ihre Parameter nach der Zelle angewendet, die mit dem Tag markiert ist, parameters oder am Anfang des Notebookes, wenn Sie keine markierte Zelle haben.

# this cell is in your input notebook and is tagged with 'parameters' # your parameters and parameter overrides are applied after this cell company='default'
# in this cell, your parameters are applied # prints "company is Amazon" print(f'company is {company}')

Rufen Sie Informationen aus einem vorherigen Schritt ab

In der folgenden Diskussion wird erklärt, wie Sie Daten aus einem vorherigen Schritt extrahieren können, um sie an Ihren Notebook-Job-Schritt weiterzuleiten.

propertiesAttribut verwenden

Sie können die folgenden Eigenschaften mit dem properties Attribut des vorherigen Schritts verwenden:

  • ComputingJobName –Der Trainingsauftragsname

  • ComputingJobStatus – Der Status des Trainingsjobs

  • NotebookJobInputLocation –Der eingegebene Amazon-S3-Speicherort

  • NotebookJobOutputLocationPrefix – der Pfad zu Ihren Trainingsjob-Ausgaben, genauer gesagt: {NotebookJobOutputLocationPrefix}/{training-job-name}/output/output.tar.gz. mit Ausgaben

  • InputNotebookName – Der Name der Eingabe-Notebook-Datei

  • OutputNotebookName – Der Name der Ausgabe-Notebookdatei (der möglicherweise nicht im Ausgabeordner des Trainingsjobs vorhanden ist, falls der Job fehlschlägt)

Der folgende Codeausschnitt zeigt, wie Parameter aus dem Eigenschaftenattribut extrahiert werden.

notebook_job_step2 = NotebookJobStep( .... parameters={ "step1_JobName": notebook_job_step1.properties.ComputingJobName, "step1_JobStatus": notebook_job_step1.properties.ComputingJobStatus, "step1_NotebookJobInput": notebook_job_step1.properties.NotebookJobInputLocation, "step1_NotebookJobOutput": notebook_job_step1.properties.NotebookJobOutputLocationPrefix, }

Verwenden Sie JsonGet

Wenn Sie andere Parameter als die zuvor genannten übergeben möchten und sich die JSON-Ausgaben Ihres vorherigen Schritts in Amazon S3 befinden, verwenden Sie JsonGet. JsonGet ist ein allgemeiner Mechanismus, mit dem Daten direkt aus JSON-Dateien in Amazon S3 extrahiert werden können.

Führen Sie die folgenden Schritte ausJsonGet, um JSON-Dateien in Amazon S3 mit zu extrahieren:

  1. Laden Sie Ihre JSON-Datei in Amazon S3 hoch. Wenn Ihre Daten bereits auf Amazon S3 hochgeladen wurden, überspringen Sie diesen Schritt. Das folgende Beispiel zeigt, wie Sie eine JSON-Datei in Amazon S3 hochladen.

    import json from sagemaker.s3 import S3Uploader output = { "key1": "value1", "key2": [0,5,10] } json_output = json.dumps(output) with open("notebook_job_params.json", "w") as file: file.write(json_output) S3Uploader.upload( local_path="notebook_job_params.json", desired_s3_uri="s3://path/to/bucket" )
  2. Geben Sie Ihre S3-URI und den JSON-Pfad zu dem Wert an, den Sie extrahieren möchten. Im folgenden Beispiel wird ein Objekt JsonGet zurückgegeben, das den Index 2 des mit key key2 (10) verknüpften Werts darstellt.

    NotebookJobStep( .... parameters={ # the key job_key1 returns an object representing the value 10 "job_key1": JsonGet( s3_uri=Join(on="/", values=["s3:/", ..]), json_path="key2[2]" # value to reference in that json file ), "job_key2": "Amazon" } )