使用檢查點儲存並重新啟動混合式工作 - 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!!!!!")

當您執行混合工作時,它會建立檔案-檢查<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

注意

檢查點 _ 文件後綴必須符合先前在建立檢查點時指定的尾碼。

您的協調指令碼需要指定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="arn:aws:braket:<region>:<account-id>:job/<previous_job_name>", #ADD )