Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Trasmetti informazioni da e verso il tuo notebook step
Le sezioni seguenti descrivono i modi per passare informazioni al notebook come variabili e parametri di ambiente.
Passa le variabili di ambiente
Passa le variabili di ambiente come dizionario all'environment_variable
argomento del tuoNotebookJobStep
, come mostrato nell'esempio seguente:
environment_variables = {"RATE": 0.0001, "BATCH_SIZE": 1000} notebook_job_step = NotebookJobStep( ... environment_variables=environment_variables, ... )
È possibile utilizzare le variabili di ambiente nel notebook utilizzandoos.getenv()
, come illustrato nell'esempio seguente:
# inside your notebook import os print(f"ParentNotebook: env_key={os.getenv('env_key')}")
Parametri del passaggio
Quando passate i parametri al primo passaggio di Notebook Job dell'NotebookJobStep
istanza, potete opzionalmente etichettare una cella del vostro notebook Jupyter per indicare dove applicare nuovi parametri o sostituzioni di parametri. Per istruzioni su come etichettare una cella nel notebook Jupyter, consulta. Parametrizzare il notebook
I parametri vengono passati tramite il parameters
parametro della fase Notebook Job, come illustrato nel seguente frammento:
notebook_job_parameters = { "company": "Amazon", } notebook_job_step = NotebookJobStep( ... parameters=notebook_job_parameters, ... )
All'interno del notebook di input, i parametri vengono applicati dopo la cella contrassegnata con parameters
o all'inizio del taccuino se non si dispone di una cella con tag.
# 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}')
Recupera le informazioni da un passaggio precedente
La discussione seguente spiega come estrarre i dati da un passaggio precedente per passarli alla fase Notebook Job.
Usa l'properties
attributo
È possibile utilizzare le seguenti proprietà con l'properties
attributo del passaggio precedente:
-
ComputingJobName
—Il nome del lavoro di formazione -
ComputingJobStatus
—Lo stato del lavoro di formazione -
NotebookJobInputLocation
—La posizione Amazon S3 di input -
NotebookJobOutputLocationPrefix
—Il percorso verso i risultati del lavoro di formazione, in particolare, contenente gli output{
NotebookJobOutputLocationPrefix
}/{training-job-name
}/output/output.tar.gz -
InputNotebookName
—Il nome del file del taccuino di input -
OutputNotebookName
—Il nome del file del taccuino di output (che potrebbe non esistere nella cartella di output del training job se il lavoro fallisce)
Il seguente frammento di codice mostra come estrarre i parametri dall'attributo properties.
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, }
Usa JsonGet
Se desideri passare parametri diversi da quelli menzionati in precedenza e JSON gli output del passaggio precedente risiedono in Amazon S3, utilizza. JsonGet
JsonGet
è un meccanismo generale in grado di estrarre direttamente i dati dai JSON file in Amazon S3.
Per estrarre JSON file in Amazon S3 conJsonGet
, completa i seguenti passaggi:
-
Carica il tuo JSON file su Amazon S3. Se i tuoi dati sono già caricati su Amazon S3, salta questo passaggio. L'esempio seguente mostra il caricamento di un JSON file su 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
" ) -
Fornisci il tuo S3 URI e il JSON percorso verso il valore che desideri estrarre. Nell'esempio seguente,
JsonGet
restituisce un oggetto che rappresenta l'indice 2 del valore associato a keykey2
(10
).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" } )