Input, output, variabili ambientali e funzioni di supporto - Amazon Braket

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à.

Input, output, variabili ambientali e funzioni di supporto

Oltre al file o ai file che compongono lo script completo dell'algoritmo, il lavoro può avere input e output aggiuntivi. Quando inizia il tuo lavoro,Amazon Braketcopia gli input forniti come parte della creazione del lavoro nel contenitore che esegue lo script dell'algoritmo. Al termine del lavoro, tutti gli output definiti durante l'algoritmo vengono copiati nelAmazonPercorso S3 S3 specificato.

Nota

Metriche degli algoritmisono segnalati in tempo reale e non seguono questa procedura di output.

Amazon Braketfornisce anche diverse variabili d'ambiente e funzioni di supporto per semplificare le interazioni con gli input e gli output del contenitore.

In questa sezione vengono illustrati i concetti chiave delAwsQuantumJob.createfunzione fornita dalAmazon BraketPython SDK e loro mappatura alla struttura del file contenitore.

Input

Dati di input: È possibile fornire dati di input utilizzandoinput_data. Specificare cheinput_dataè una parola chiave nellaAwsQuantumJob.createfunzione nell'SDK. Questi dati vengono copiati nel filesystem contenitore nella posizione indicata dalla variabile d'ambiente."AMZN_BRAKET_INPUT_DIR". Per un esempio, consulta la sezione.QAOA con Amazon Braket Hybrid Jobs e PennyLaneJupyter Notebook.

Iperparametri: Se si passahyperparameters, sono disponibili con la variabile di ambiente"AMZN_BRAKET_HP_FILE". Gli iperparametri vengono trasmessi direttamente alAPI(non tramite S3) durante la creazione di un lavoro.

Checkpoint: Per specificare unjob-arndi cui si desidera utilizzare il checkpoint in un nuovo lavoro, utilizzare ilcopy_checkpoints_from_jobcomando. Con questo comando vengono copiati i dati del checkpoint nelcheckpoint_configs3Uridel nuovo lavoro, rendendolo disponibile nel percorso dato dalla variabile d'ambienteAMZN_BRAKET_CHECKPOINT_DIRmentre il lavoro è in esecuzione. Il valore predefinito èNonesignifica che i dati dei checkpoint di un altro lavoro non verranno utilizzati nel nuovo lavoro.

Output

Attività: I risultati delle operazioni vengono archiviati nel percorso S3 specificato inoutput_data_config. Se non si specifica questo valore, passerà as3://amazon-braket-<region>-<accountID>/jobs/<job-name>/tasks.

Risultati Job: Tutto ciò che lo script dell'algoritmo salva nella directory indicata dalla variabile d'ambiente"AMZN_BRAKET_JOB_RESULTS_DIR"viene copiato nella posizione S3 specificata inoutput_data_config. Se non si specifica questo valore, passerà as3://amazon-braket-<region>-<accountID>/jobs/<job-name>/data. Forniamo la funzione helper SDK save_job_result che consente di memorizzare i risultati comodamente e nel formato corretto dallo script dell'algoritmo.

Checkpoint: Se si desidera utilizzare i checkpoint, è possibile salvarli nella directory indicata dalla variabile d'ambienteAMZN_BRAKET_CHECKPOINT_DIR". È anche possibile usare la funzione di supporto SDKsave_job_checkpointinvece.

Metriche degli algoritmi: È possibile definire le metriche dell'algoritmo come parte dello script dell'algoritmo emesso inAmazon CloudWatch e visualizzati in tempo reale nellaAmazon Braketconsole mentre il lavoro è in esecuzione. Per un esempio di come utilizzare le metriche degli algoritmi, consultaUtilizzaAmazonBraketHybrid Jobs per eseguire un algoritmo QAOA_.

Variabili di ambiente

Amazon Braketfornisce diverse variabili d'ambiente per semplificare le interazioni con gli input e gli output del contenitore. Il codice seguente elenca le variabili ambientali utilizzate conBraket.

# the input data directory opt/braket/input/data os.environ["AMZN_BRAKET_INPUT_DIR"] # the output directory opt/braket/model to write ob results to os.environ["AMZN_BRAKET_JOB_RESULTS_DIR"] # the name of the job os.environ["AMZN_BRAKET_JOB_NAME"] # the checkpoint directory os.environ["AMZN_BRAKET_CHECKPOINT_DIR"] # the hyperparameter os.environ["AMZN_BRAKET_HP_FILE"] # the device ARN (AWS Resource Number) os.environ["AMZN_BRAKET_DEVICE_ARN"] # the output S3 bucket, as specified in the CreateJob request’s OutputDataConfig os.environ["AMZN_BRAKET_OUT_S3_BUCKET"] # the entry point as specified in the CreateJob request’s ScriptModeConfig os.environ["AMZN_BRAKET_SCRIPT_ENTRY_POINT"] # the compression type as specified in the CreateJob request’s ScriptModeConfig os.environ["AMZN_BRAKET_SCRIPT_COMPRESSION_TYPE"] # the S3 location of the user’s script as specified in the CreateJob request’s ScriptModeConfig os.environ["AMZN_BRAKET_SCRIPT_S3_URI"] # the S3 location where the SDK would store the task results by default for the job os.environ["AMZN_BRAKET_TASK_RESULTS_S3_URI"] # the S3 location where the job results would be stored, as specified in CreateJob request’s OutputDataConfig os.environ["AMZN_BRAKET_JOB_RESULTS_S3_PATH"] # the string that should be passed to CreateQuantumTask’s jobToken parameter for quantum tasks created in the job container os.environ["AMZN_BRAKET_JOB_TOKEN"]

Funzioni assistente

Amazon Braketfornisce diverse funzioni di supporto per semplificare le interazioni con gli input e gli output del contenitore. L'esempio seguente mostra come utilizzarli.

save_job_result() # helper function to save your job results save_job_checkpoint() # helper function to save checkpoints load_job_checkpoint() # helper function to load a previously saved job checkpoints