儲存您的任務結果 - Amazon Braket

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

儲存您的任務結果

您可以儲存演算法指令碼產生的結果,以便從混合任務指令碼中的混合任務物件以及 Amazon S3 中的輸出資料夾 (在名為 model.tar.gz 的 tar 壓縮檔案中) 中取得。

輸出必須使用 JavaScript 物件標記 (JSON) 格式儲存在檔案中。如果資料無法輕易序列化為文字,如同在 numpy 陣列中,您可以傳入 選項,以使用挑選的資料格式序列化。如需詳細資訊,請參閱 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!!!!!")

然後,您可以附加 #ADD print(job.result())註解的行來顯示任務指令碼中的任務結果。

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}]}