使用檢查點儲存並重新啟動混合式工作 - Amazon Braket

了解量子計算的基礎 AWS!註冊 Amazon Braket 數位學習計劃,並在完成一系列學習課程和數位評估後獲得自己的數位徽章。

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

使用檢查點儲存並重新啟動混合式工作

您可以使用檢查點儲存混合式工作的中間版序。在上一節的演算法指令碼範例中,您可以新增以 #ADD 註解的下列幾行,以建立檢查點檔案。

from braket.aws import AwsDevice from braket.circuits import Circuit from braket.jobs import save_job_checkpoint #ADD import os def start_here(): print("Test job starts!!!!!") device = AwsDevice(os.environ["AMZN_BRAKET_DEVICE_ARN"]) #ADD the following code job_name = os.environ["AMZN_BRAKET_JOB_NAME"] save_job_checkpoint( checkpoint_data={"data": f"data for checkpoint from {job_name}"}, checkpoint_file_suffix="checkpoint-1", ) #End of ADD bell = Circuit().h(0).cnot(0, 1) for count in range(5): task = device.run(bell, shots=100) print(task.result().measurement_counts) print("Test hybrid job completed!!!!!")

當您執行混合作業時,它會使用預設路徑在檢查點目錄中的混合作業成品中建立檔案-checkpoint 1.json <jobname>。/opt/jobs/checkpoints除非您要變更此預設路徑,否則混合式工作命令檔會保持不變。

如果您想要從先前混合作業產生的檢查點載入混合作業,演算法指令碼會使用from braket.jobs import load_job_checkpoint。在演算法指令碼中載入的邏輯如下。

checkpoint_1 = load_job_checkpoint( "previous_job_name", checkpoint_file_suffix="checkpoint-1", )

載入此檢查點之後,您可以根據載入的內容繼續邏輯checkpoint-1

注意

檢查點 _file_suffix 必須在創建檢查點時先前指定的後綴匹配。

您的協調流程指令碼需要指定job-arn先前的混合工作,並加上 #ADD 註解行。

job = AwsQuantumJob.create( source_module="source_dir", entry_point="source_dir.algorithm_script:start_here", device_arn="arn:aws:braket:::device/quantum-simulator/amazon/sv1", copy_checkpoints_from_job="<previous-job-ARN>", #ADD )