Speichern Sie die Auftragsergebnisse - Amazon Braket

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.

Speichern Sie die Auftragsergebnisse

Sie können die vom Algorithmus-Skript generierten Ergebnisse speichern, sodass sie sowohl im Hybrid-Job-Objekt im Hybrid-Job-Skript als auch im Ausgabeordner in Amazon S3 (in einer TAR-ZIP-Datei namens model.tar.gz) verfügbar sind.

Die Ausgabe muss in einer Datei im JSON-Format ( JavaScript Object Notation) gespeichert werden. Wenn die Daten nicht ohne Weiteres in Text serialisiert werden können, wie im Fall eines Numpy-Arrays, können Sie eine Option zur Serialisierung mit einem ausgewählten Datenformat angeben. Weitere Informationen finden Sie im Modul braket.jobs.data_persistence.

Um die Ergebnisse der Hybrid-Jobs zu speichern, fügen Sie dem Algorithmus-Skript die folgenden Zeilen hinzu, die mit #ADD kommentiert sind.

from braket.aws import AwsDevice from braket.circuits import Circuit from braket.jobs import save_job_result #ADD def start_here(): print("Test job started!!!!!") device = AwsDevice(os.environ['AMZN_BRAKET_DEVICE_ARN']) results = [] #ADD bell = Circuit().h(0).cnot(0, 1) for count in range(5): task = device.run(bell, shots=100) print(task.result().measurement_counts) results.append(task.result().measurement_counts) #ADD save_job_result({ "measurement_counts": results }) #ADD print("Test job completed!!!!!")

Anschließend können Sie sich die Ergebnisse des Jobs aus Ihrem Jobskript anzeigen lassen, indem Sie die mit #ADD print(job.result())kommentierte Zeile anhängen.

import time from braket.aws import AwsQuantumJob job = AwsQuantumJob.create( source_module="algorithm_script.py", entry_point="algorithm_script:start_here", device_arn="arn:aws:braket:::device/quantum-simulator/amazon/sv1", ) print(job.arn) while job.state() not in AwsQuantumJob.TERMINAL_STATES: print(job.state()) time.sleep(10) print(job.state()) print(job.result()) #ADD

In diesem Beispiel haben wir die Option entfernt, wait_until_complete=True um ausführliche Ausgaben zu unterdrücken. Sie können es zum Debuggen wieder hinzufügen. Wenn Sie diesen Hybrid-Job ausführen, gibt er alle 10 Sekunden den Bezeichner und denjob-arn, gefolgt vom Status des Hybrid-Jobs, ausCOMPLETED, bis der Hybrid-Job fertig ist. Danach werden Ihnen die Ergebnisse der Glockenschaltung angezeigt. Sehen Sie sich das folgende -Beispiel an.

arn:aws:braket:us-west-2:111122223333:job/braket-job-default-1234567890123 INITIALIZED RUNNING RUNNING RUNNING RUNNING RUNNING RUNNING RUNNING RUNNING RUNNING RUNNING ... RUNNING RUNNING COMPLETED {'measurement_counts': [{'11': 53, '00': 47},..., {'00': 51, '11': 49}]}