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à.
Concetti chiave per i lavori ibridi
Questa sezione spiega i concetti chiave della AwsQuantumJob.create funzione fornita dall'SDK Amazon Braket Python e della mappatura alla struttura dei file del contenitore.
Oltre al file o ai file che costituiscono lo script completo dell'algoritmo, il processo ibrido può avere input e output aggiuntivi. Quando il processo ibrido viene avviato, Amazon Braket copia gli input forniti come parte della creazione del lavoro ibrido nel contenitore che esegue lo script dell'algoritmo. Al termine del job ibrido, tutti gli output definiti durante l'algoritmo vengono copiati nella posizione Amazon S3 specificata.
Nota
Le metriche dell'algoritmo vengono riportate in tempo reale e non seguono questa procedura di output.
Amazon Braket fornisce anche diverse variabili di ambiente e funzioni di supporto per semplificare le interazioni con gli input e gli output dei container. Per ulteriori informazioni, consulta il pacchetto braket.jobs nell'SDK Amazon Braket.
In questa sezione:
Input
Dati di input: i dati di input possono essere forniti all'algoritmo ibrido specificando il file di dati di input, che è impostato come dizionario, con l'input_dataargomento. L'utente definisce l'input_dataargomento all'interno della AwsQuantumJob.create funzione nell'SDK. Questo copia i dati di input nel file system del contenitore nella posizione indicata dalla variabile "AMZN_BRAKET_INPUT_DIR" di ambiente. Per un paio di esempi di come vengono utilizzati i dati di input in un algoritmo ibrido, consulta QAOA con Amazon Braket Hybrid Jobs PennyLane
Nota
Quando i dati di input sono di grandi dimensioni (>1 GB), ci vorrà un lungo tempo di attesa prima che il lavoro ibrido venga inviato. Ciò è dovuto al fatto che i dati di input locali verranno prima caricati in un bucket S3, quindi il percorso S3 verrà aggiunto alla richiesta di lavoro ibrida e, infine, la richiesta di lavoro ibrida verrà inviata al servizio Braket.
Iperparametri: se li trasmettihyperparameters, sono disponibili nella variabile di ambiente. "AMZN_BRAKET_HP_FILE"
Nota
Per ulteriori informazioni su come creare iperparametri e dati di input e quindi passare queste informazioni allo script di lavoro ibrido, consulta la sezione Usa gli iperparametri e questa pagina github. https://github.com/amazon-braket/amazon-braket-examples/blob/main/examples/hybrid_jobs/1_Quantum_machine_learning_in_Amazon_Braket_Hybrid_Jobs/qcbm/qcbm.py
Punti di controllo: per specificare job-arn il checkpoint da utilizzare in un nuovo lavoro ibrido, usa il comando. copy_checkpoints_from_job Questo comando copia i dati del checkpoint nel nuovo job ibrido, rendendoli disponibili nel percorso indicato dalla variabile di ambiente AMZN_BRAKET_CHECKPOINT_DIR durante l'esecuzione del job. checkpoint_configs3Uri L'impostazione predefinita èNone: i dati dei checkpoint di un altro job ibrido non verranno utilizzati nel nuovo job ibrido.
Output
Attività quantistiche: i risultati delle attività quantistiche vengono archiviati nella posizione S3. s3://amazon-braket-<region>-<accountID>/jobs/<job-name>/tasks
Risultati del lavoro: tutto ciò che lo script dell'algoritmo salva nella directory indicata dalla variabile di ambiente "AMZN_BRAKET_JOB_RESULTS_DIR" viene copiato nella posizione S3 specificata in. output_data_config Se il valore non è specificato, il valore predefinito è. s3://amazon-braket-<region>-<accountID>/jobs/<job-name>/<timestamp>/data Forniamo la funzione di supporto SDK save_job_result, che puoi utilizzare per archiviare comodamente i risultati sotto forma di dizionario quando viene richiamata dallo script dell'algoritmo.
Punti di controllo: se desideri utilizzare i checkpoint, puoi salvarli nella directory indicata dalla variabile di ambiente. "AMZN_BRAKET_CHECKPOINT_DIR" Puoi anche usare invece la funzione di supporto SDK. save_job_checkpoint
Metriche degli algoritmi: puoi definire le metriche dell'algoritmo come parte dello script dell'algoritmo che vengono emesse su Amazon CloudWatch e visualizzate in tempo reale nella console Amazon Braket mentre il processo ibrido è in esecuzione. Per un esempio di come utilizzare le metriche degli algoritmi, consulta Utilizzare Amazon Braket Hybrid Jobs per eseguire un algoritmo QAOA.
Per ulteriori informazioni sul salvataggio dei risultati dei lavori, consulta Salvare i risultati nella documentazione di Hybrid Jobs.
Variabili di ambiente
Amazon Braket fornisce diverse variabili di ambiente per semplificare le interazioni con gli input e gli output dei container. Il codice seguente elenca le variabili ambientali utilizzate da Braket.
-
AMZN_BRAKET_INPUT_DIR— La cartella dei dati di input/. opt/braket input/data -
AMZN_BRAKET_JOB_RESULTS_DIR— La opt/braket directory/model di output in cui scrivere i risultati del lavoro. -
AMZN_BRAKET_JOB_NAME— Il nome del lavoro. -
AMZN_BRAKET_CHECKPOINT_DIR— L'elenco dei checkpoint. -
AMZN_BRAKET_HP_FILE— Il file contenente gli iperparametri. -
AMZN_BRAKET_DEVICE_ARN— L'ARN (AWS Resource Name) del dispositivo. -
AMZN_BRAKET_OUT_S3_BUCKET— Il bucket Amazon S3 di output, come specificato nellaCreateJobrichiesta.OutputDataConfig -
AMZN_BRAKET_SCRIPT_ENTRY_POINT— Il punto di ingresso come specificato nellaCreateJobrichiesta.ScriptModeConfig -
AMZN_BRAKET_SCRIPT_COMPRESSION_TYPE— Il tipo di compressione specificato nellaCreateJobrichiestaScriptModeConfig. -
AMZN_BRAKET_SCRIPT_S3_URI— La posizione Amazon S3 dello script dell'utente come specificato nellaCreateJobrichiesta.ScriptModeConfig -
AMZN_BRAKET_TASK_RESULTS_S3_URI— La posizione Amazon S3 in cui l'SDK memorizzerebbe i risultati delle attività quantistiche per impostazione predefinita per il lavoro. -
AMZN_BRAKET_JOB_RESULTS_S3_PATH— La posizione Amazon S3 in cui verranno archiviati i risultati del lavoro, come specificato nelle richieste.CreateJobOutputDataConfig -
AMZN_BRAKET_JOB_TOKEN— La stringa che deve essere passata alCreateQuantumTaskjobTokenparametro per le attività quantistiche create nel job container.
Funzioni di supporto
Amazon Braket fornisce diverse funzioni di supporto per semplificare le interazioni con gli input e gli output dei container. Queste funzioni di supporto verrebbero richiamate dall'interno dello script dell'algoritmo utilizzato per eseguire il tuo Hybrid Job. L'esempio seguente dimostra come utilizzarli.
from braket.jobs import get_checkpoint_dir, get_hyperparameters, get_input_data_dir, get_job_device_arn, get_job_name, get_results_dir, save_job_result, save_job_checkpoint, load_job_checkpoint get_checkpoint_dir() # Get the checkpoint directory get_hyperparameters() # Get the hyperparameters as strings get_input_data_dir() # Get the input data directory get_job_device_arn() # Get the device specified by the hybrid job get_job_name() # Get the name of the hybrid job. get_results_dir() # Get the path to a results directory save_job_result(result_data='data') # Save hybrid job results save_job_checkpoint(checkpoint_data={'key': 'value'}) # Save a checkpoint load_job_checkpoint() # Load a previously saved checkpoint