使用检查点保存和重启混合作业 - 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

注意

checkpoint_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 )