儲存您的工作結果 - Amazon Braket

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

儲存您的工作結果

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

輸出必須使用「 JavaScript 物件標記法」(JSON) 格式儲存在檔案中。如果數據不能很容易地序列化為文本,就像在 numpy 數組的情況下,您可以傳入一個選項以使用醃製數據格式序列化。有關更多詳細信息,請參見編輯器 .jobs.data _持久性模塊。

若要儲存混合式工作的結果,您可以在演算法指令碼中加入以 # 註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了抑制詳細輸出。您可以將其重新加入以進行偵錯。當您執行此混合作業時,它會每隔 10 秒輸出一次識別碼和job-arn,然後輸出混合作業的狀態,直到混合作業為止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}]}