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.
Schritt „Informationen an und aus Ihrem Notizbuch weiterleiten“
In den folgenden Abschnitten werden Möglichkeiten beschrieben, Informationen als Umgebungsvariablen und Parameter an Ihr Notebook zu übergeben.
Übergeben Sie Umgebungsvariablen
Übergeben Sie Umgebungsvariablen als Wörterbuch an das environment_variable
Argument IhresNotebookJobStep
, 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 Notizbuch verwendenos.getenv()
, indem Sie, wie im folgenden Beispiel gezeigt, verwenden:
# 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
Instanz ü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 in Ihrem Jupyter-Notizbuch finden Sie unter. Parametrisieren Ihres Notebooks
Sie übergeben Parameter über den Parameter des parameters
Notebook-Job-Schritts, wie im folgenden Codeausschnitt dargestellt:
notebook_job_parameters = { "company": "Amazon", } notebook_job_step = NotebookJobStep( ... parameters=notebook_job_parameters, ... )
In Ihrem Eingabe-Notizbuch werden Ihre Parameter nach der Zelle angewendet, die mit dem Tag markiert ist, parameters
oder am Anfang des Notizbuches, 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.
properties
Attribut verwenden
Sie können die folgenden Eigenschaften mit dem properties
Attribut des vorherigen Schritts verwenden:
-
ComputingJobName
— Der Name des Schulungsjobs -
ComputingJobStatus
— Der Status des Schulungsjobs -
NotebookJobInputLocation
—Der eingegebene Amazon S3 S3-Speicherort -
NotebookJobOutputLocationPrefix
— Der Pfad zu den Ergebnissen Ihrer Trainingsjobs, genauer gesagt{
. Er enthält AusgabenNotebookJobOutputLocationPrefix
}/{training-job-name
}/output/output.tar.gz -
InputNotebookName
— Der Name der Eingabe-Notebook-Datei -
OutputNotebookName
— Der Name der Ausgabe-Notizbuchdatei (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, }
Benutze JsonGet
Wenn Sie andere als die zuvor genannten Parameter übergeben möchten und die JSON Ausgaben Ihres vorherigen Schritts in Amazon S3 gespeichert sind, verwenden SieJsonGet
. JsonGet
ist ein allgemeiner Mechanismus, mit dem Daten direkt aus JSON Dateien in Amazon S3 extrahiert werden können.
Gehen Sie wie folgt vorJsonGet
, um JSON Dateien in Amazon S3 mit zu extrahieren:
-
Laden Sie Ihre JSON Datei auf Amazon S3 hoch. Wenn Ihre Daten bereits auf Amazon S3 hochgeladen wurden, überspringen Sie diesen Schritt. Das folgende Beispiel zeigt das Hochladen einer JSON Datei auf Amazon S3.
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
" ) -
Geben Sie Ihren 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 keykey2
(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" } )