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à.
Fase Passaggio delle informazioni da e verso il tuo notebook
Le sezioni seguenti descrivono i modi per passare informazioni al notebook come variabili e parametri di ambiente.
Passaggio delle variabili di ambiente
Passa le variabili di ambiente come dizionario all’argomento environment_variable di NotebookJobStep, come mostrato nell’esempio seguente:
environment_variables = {"RATE": 0.0001, "BATCH_SIZE": 1000} notebook_job_step = NotebookJobStep( ... environment_variables=environment_variables, ... )
Puoi utilizzare le variabili di ambiente nel notebook tramite os.getenv(), come mostrato nell’esempio seguente:
# inside your notebook import os print(f"ParentNotebook: env_key={os.getenv('env_key')}")
Passaggio dei parametri
Quando passi i parametri alla prima fase Processo del notebook nell’istanza NotebookJobStep, puoi facoltativamente taggare una cella del notebook Jupyter per indicare dove applicare i nuovi parametri o i parametri sostitutivi. Per istruzioni su come taggare una cella nel notebook Jupyter, consulta Parametrizzare il notebook.
I parametri vengono passati tramite il parametro parameters della fase Processo del notebook, come mostrato nel frammento seguente:
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 taggata con parameters oppure all’inizio del notebook se non è disponibile una cella taggata.
# 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}')
Recupero di informazioni da un fase precedente
La sezione seguente spiega come estrarre i dati da una fase precedente per passarli alla fase Processo del notebook.
Utilizzo dell’attributo properties
Puoi utilizzare le proprietà seguenti con l’attributo properties del passaggio precedente:
-
ComputingJobName: il nome del job di addestramento -
ComputingJobStatus: lo stato del job di addestramento -
NotebookJobInputLocation: la posizione di input di Amazon S3 -
NotebookJobOutputLocationPrefix: il percorso degli output del job di addestramento, in particolare{in cui sono contenuti gli outputNotebookJobOutputLocationPrefix}/{training-job-name}/output/output.tar.gz -
InputNotebookName: il nome del file del notebook di input -
OutputNotebookName: il nome del file del notebook di output (che potrebbe non esistere nella cartella di output del job di addestramento se il processo non riesce)
Il frammento di codice seguente 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, }
Utilizza JsonGet
Se intendi passare parametri diversi da quelli menzionati in precedenza e se gli output JSON della fase precedente risiedono in Amazon S3, utilizza JsonGet. JsonGet è un meccanismo generale in grado di estrarre direttamente i dati dai file JSON in Amazon S3.
Per estrarre i file JSON in Amazon S3 con JsonGet, procedi come descritto di seguito:
-
Carica i file JSON su Amazon S3. Se i dati sono già caricati su Amazon S3, salta questa fase. L’esempio seguente mostra il caricamento di un file JSON in 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 URI S3 e il percorso JSON per il valore da estrarre. Nell’esempio seguente,
JsonGetrestituisce un oggetto che rappresenta l’indice 2 del valore associato alla chiavekey2(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" } )