本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
儲存您的任務結果
您可以儲存演算法指令碼產生的結果,以便從混合式任務指令碼中的混合式任務物件以及 Amazon S3 中的輸出資料夾 (在名為 model.tar.gz 的 tar 壓縮檔案中) 中使用這些結果。
輸出必須使用 JavaScript Object Notation (JSON) 格式儲存在檔案中。如果資料無法輕易序列化為文字,如同在混雜陣列中,您可以傳遞 選項,以使用選取的資料格式序列化。如需詳細資訊,請參閱 braket.jobs.data_persistence 模組
若要儲存混合式任務的結果,請將下列以 #ADD 評論的行新增至演算法指令碼。
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!!!!!")
然後,您可以附加以 # print(job.result())
評論的行,以顯示任務指令碼中的任務結果ADD。
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
在此範例中,我們移除 wait_until_complete=True
來隱藏詳細輸出。您可以將其重新新增至 進行偵錯。當您執行此混合式任務時,它會輸出識別碼和 job-arn
,然後每 10 秒輸出混合式任務的狀態,直到混合式任務為 為止COMPLETED
,之後會顯示鈴鐺電路的結果。請參閱以下範例。
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}]}