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.
Eingaben, Ausgaben, Umgebungsvariablen und Hilfsfunktionen
Zusätzlich zu der Datei oder den Dateien, aus denen Ihr komplettes Algorithmus-Skript besteht, kann Ihr Hybrid-Job zusätzliche Eingaben und Ausgaben haben. Wenn Ihr Hybrid-Job gestartet wird, kopiert Amazon Braket die Eingaben, die im Rahmen der Hybrid-Job-Erstellung bereitgestellt wurden, in den Container, in dem das Algorithmus-Skript ausgeführt wird. Wenn der Hybrid-Job abgeschlossen ist, werden alle während des Algorithmus definierten Ausgaben an den angegebenen Amazon S3 S3-Speicherort kopiert.
Anmerkung
Algorithmus-Metriken werden in Echtzeit gemeldet und folgen nicht diesem Ausgabeverfahren.
Amazon Braket bietet auch mehrere Umgebungsvariablen und Hilfsfunktionen, um die Interaktionen mit Container-Eingaben und -Ausgaben zu vereinfachen.
In diesem Abschnitt werden die wichtigsten Konzepte der vom Amazon Braket Python SDK bereitgestellten AwsQuantumJob.create
Funktion und ihre Zuordnung zur Container-Dateistruktur erklärt.
In diesem Abschnitt:
Eingaben
Eingabedaten: Eingabedaten können dem Hybrid-Algorithmus zur Verfügung gestellt werden, indem die Eingabedatendatei, die als Wörterbuch eingerichtet ist, mit dem input_data
Argument angegeben wird. Der Benutzer definiert das input_data
Argument innerhalb der AwsQuantumJob.create
Funktion im SDK. Dadurch werden die Eingabedaten in das Container-Dateisystem an dem in der Umgebungsvariablen angegebenen Speicherort kopiert"AMZN_BRAKET_INPUT_DIR"
. Einige Beispiele dafür, wie Eingabedaten in einem hybriden Algorithmus verwendet werden, finden Sie unter QAOA mit Amazon Braket Hybrid Jobs PennyLane und
Anmerkung
Wenn die Eingabedaten groß sind (> 1 GB), dauert es lange, bis der Hybrid-Job eingereicht wird. Dies liegt an der Tatsache, dass die lokalen Eingabedaten zuerst in einen S3-Bucket hochgeladen werden, dann der S3-Pfad zur Hybrid-Job-Anfrage hinzugefügt wird und schließlich die Hybrid-Job-Anfrage an den Braket-Service übermittelt wird.
Hyperparameter: Wenn Sie sie weitergebenhyperparameters
, sind sie unter der Umgebungsvariablen verfügbar. "AMZN_BRAKET_HP_FILE"
Anmerkung
Checkpoints: Um einen Checkpoint anzugebenjob-arn
, dessen Checkpoint Sie in einem neuen Hybrid-Job verwenden möchten, verwenden Sie den Befehl. copy_checkpoints_from_job
Mit diesem Befehl werden die Checkpoint-Daten in den checkpoint_configs3Uri
des neuen Hybrid-Jobs kopiert, sodass sie AMZN_BRAKET_CHECKPOINT_DIR
während der Ausführung des Jobs unter dem in der Umgebungsvariablen angegebenen Pfad verfügbar sind. Die Standardeinstellung istNone
, was bedeutet, dass Checkpoint-Daten aus einem anderen Hybrid-Job im neuen Hybrid-Job nicht verwendet werden.
Outputs
Quantenaufgaben: Die Ergebnisse der Quantenaufgaben werden am S3-Standort s3://amazon-braket-<region>-<accountID>/jobs/<job-name>/tasks
gespeichert.
Arbeitsergebnisse: Alles, was Ihr Algorithmus-Skript in dem von der Umgebungsvariablen angegebenen Verzeichnis speichert, "AMZN_BRAKET_JOB_RESULTS_DIR"
wird an den unter angegebenen S3-Speicherort kopiertoutput_data_config
. Wenn Sie diesen Wert nicht angeben, wird standardmäßig der Wert verwendet. s3://amazon-braket-<region>-<accountID>/jobs/<job-name>/<timestamp>/data
Wir bieten die SDK-Hilfsfunktion save_job_result
, mit der Sie Ergebnisse bequem in Form eines Wörterbuchs speichern können, wenn Sie sie von Ihrem Algorithmus-Skript aus aufrufen.
Checkpoints: Wenn Sie Checkpoints verwenden möchten, können Sie diese in dem durch die Umgebungsvariable angegebenen Verzeichnis speichern. "AMZN_BRAKET_CHECKPOINT_DIR"
Sie können stattdessen auch die SDK-Hilfsfunktion save_job_checkpoint
verwenden.
Algorithmus-Metriken: Sie können Algorithmus-Metriken als Teil Ihres Algorithmus-Skripts definieren, die an Amazon gesendet CloudWatch und in Echtzeit in der Amazon Braket-Konsole angezeigt werden, während Ihr Hybrid-Job ausgeführt wird. Ein Beispiel für die Verwendung von Algorithmus-Metriken finden Sie unter Verwenden von Amazon Braket-Hybrid-Jobs zur Ausführung eines QAOA-Algorithmus.
Umgebungsvariablen
Amazon Braket bietet mehrere Umgebungsvariablen, um die Interaktionen mit Container-Eingaben und -Ausgaben zu vereinfachen. Der folgende Code listet die Umgebungsvariablen auf, die Braket verwendet.
-
AMZN_BRAKET_INPUT_DIR
— Das Eingabedatenverzeichnis. opt/braket/input/data -
AMZN_BRAKET_JOB_RESULTS_DIR
— Das Ausgabeverzeichnisopt/braket/model, in das die Job-Ergebnisse geschrieben werden sollen. -
AMZN_BRAKET_JOB_NAME
— Der Name des Jobs. -
AMZN_BRAKET_CHECKPOINT_DIR
— Das Checkpoint-Verzeichnis. -
AMZN_BRAKET_HP_FILE
— Die Datei, die die Hyperparameter enthält. -
AMZN_BRAKET_DEVICE_ARN
— Der Geräte-ARN (AWS Ressourcenname). -
AMZN_BRAKET_OUT_S3_BUCKET
— Der Amazon S3 S3-Ausgabe-Bucket, wie in derCreateJob
Anfrage angegebenOutputDataConfig
. -
AMZN_BRAKET_SCRIPT_ENTRY_POINT
— Der Einstiegspunkt, wie in derCreateJob
Anfrage angegebenScriptModeConfig
. -
AMZN_BRAKET_SCRIPT_COMPRESSION_TYPE
— Der in derCreateJob
Anfrage angegebene KomprimierungstypScriptModeConfig
. -
AMZN_BRAKET_SCRIPT_S3_URI
— Der Amazon S3 S3-Speicherort des Benutzerskripts, wie in derCreateJob
Anfrage angegebenScriptModeConfig
. -
AMZN_BRAKET_TASK_RESULTS_S3_URI
— Der Amazon S3 S3-Speicherort, an dem das SDK standardmäßig die Ergebnisse der Quantenaufgabe für den Job speichern würde. -
AMZN_BRAKET_JOB_RESULTS_S3_PATH
— Der Amazon S3 S3-Standort, an dem die Auftragsergebnisse gespeichert würden, wie in denCreateJob
Anfragen angegebenOutputDataConfig
. -
AMZN_BRAKET_JOB_TOKEN
— Die Zeichenfolge, die anCreateQuantumTask
denjobToken
Parameter für Quantenaufgaben übergeben werden soll, die im Jobcontainer erstellt wurden.
Hilfsfunktionen
Amazon Braket bietet mehrere Hilfsfunktionen, um die Interaktionen mit Container-Eingaben und -Ausgaben zu vereinfachen. Diese Hilfsfunktionen würden innerhalb des Algorithmus-Skripts aufgerufen, das zur Ausführung Ihres Hybrid-Jobs verwendet wird. Das folgende Beispiel zeigt, wie sie verwendet werden.
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() # Save hybrid job results save_job_checkpoint() # Save a checkpoint load_job_checkpoint() # Load a previously saved checkpoint