Salvare e riavviare processi utilizzando i checkpoint - Amazon Braket

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Salvare e riavviare processi utilizzando i checkpoint

Puoi salvare iterazioni intermedie dei tuoi lavori usando i checkpoint. Nell'esempio di script dell'algoritmo della sezione precedente, aggiungerai le seguenti righe commentate con #ADD per creare file di checkpoint.

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 job completed!!!!!")

Quando si esegue il lavoro, viene creato il file<jobname>-checkpoint-1.jsonnegli artefatti del tuo lavoro nella directory dei checkpoint con un valore predefinito/opt/jobs/checkpointspath. Lo script di lavoro rimane invariato a meno che non si desideri modificare questo percorso predefinito.

Se si desidera caricare un lavoro da un checkpoint generato da un lavoro precedente, lo script dell'algoritmo utilizzafrom braket.jobs import load_job_checkpoint. La logica da caricare nello script dell'algoritmo è:

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

Dopo aver caricato questo checkpoint, puoi continuare la tua logica in base al contenuto caricato sucheckpoint-1.

Nota

Lacheckpoint_file_suffixdeve corrispondere al suffisso precedentemente specificato durante la creazione del checkpoint.

Lo script di orchestrazione deve specificare iljob-arndal lavoro precedente con la riga commentata con #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 )