本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用檢查點儲存並重新啟動混合式工作
您可以使用檢查點儲存混合式工作的中間重複項目。在上一節的演算法指令碼範例中,您可以新增以 # 註解的下列幾行,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 )