Amazon Braket SDK에서 양자 작업 추적하기 - Amazon Braket

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

Amazon Braket SDK에서 양자 작업 추적하기

이 명령은 고유한 양자 작업 ID를 사용하여 양자 작업을 device.run(…​) 정의합니다. 다음 예와 task.state() 같이 상태를 쿼리하고 추적할 수 있습니다.

참고: task = device.run() 비동기 작업이므로 시스템이 백그라운드에서 양자 작업을 처리하는 동안에도 계속 작업할 수 있습니다.

결과 검색

전화를 task.result() 걸면 SDK는 Amazon Braket을 폴링하여 양자 작업이 완료되었는지 확인하기 시작합니다. SDK는 사용자가 정의한 폴링 매개변수를 사용합니다. .run() 양자 작업이 완료되면 SDK는 S3 버킷에서 결과를 검색하고 이를 객체로 반환합니다. QuantumTaskResult

# create a circuit, specify the device and run the circuit circ = Circuit().rx(0, 0.15).ry(1, 0.2).cnot(0,2) device = AwsDevice("arn:aws:braket:::device/quantum-simulator/amazon/sv1") task = device.run(circ, s3_location, shots=1000) # get ID and status of submitted task task_id = task.id status = task.state() print('ID of task:', task_id) print('Status of task:', status) # wait for job to complete while status != 'COMPLETED': status = task.state() print('Status:', status)
ID of task: arn:aws:braket:us-west-2:123412341234:quantum-task/b68ae94b-1547-4d1d-aa92-1500b82c300d Status of task: QUEUED Status: QUEUED Status: QUEUED Status: QUEUED Status: QUEUED Status: QUEUED Status: QUEUED Status: QUEUED Status: RUNNING Status: RUNNING Status: COMPLETED

퀀텀 태스크 취소

양자 작업을 취소하려면 다음 예제와 같이 cancel() 메서드를 호출하십시오.

# cancel quantum task task.cancel() status = task.state() print('Status of task:', status)
Status of task: CANCELLING

메타데이터를 확인하세요.

다음 예와 같이 완료된 양자 작업의 메타데이터를 확인할 수 있습니다.

# get the metadata of the quantum task metadata = task.metadata() # example of metadata shots = metadata['shots'] date = metadata['ResponseMetadata']['HTTPHeaders']['date'] # print example metadata print("{} shots taken on {}.".format(shots, date)) # print name of the s3 bucket where the result is saved results_bucket = metadata['outputS3Bucket'] print('Bucket where results are stored:', results_bucket) # print the s3 object key (folder name) results_object_key = metadata['outputS3Directory'] print('S3 object key:', results_object_key) # the entire look-up string of the saved result data look_up = 's3://'+results_bucket+'/'+results_object_key print('S3 URI:', look_up)
1000 shots taken on Wed, 05 Aug 2020 14:44:22 GMT. Bucket where results are stored: amazon-braket-123412341234 S3 object key: simulation-output/b68ae94b-1547-4d1d-aa92-1500b82c300d S3 URI: s3://amazon-braket-123412341234/simulation-output/b68ae94b-1547-4d1d-aa92-1500b82c300d

양자 작업 또는 결과 검색

양자 작업을 제출한 후 커널이 종료되거나 노트북이나 컴퓨터를 닫은 경우 고유한 ARN (양자 작업 ID) 으로 task 객체를 재구성할 수 있습니다. 그런 다음 task.result() 호출하여 저장된 S3 버킷에서 결과를 가져올 수 있습니다.

from braket.aws import AwsSession, AwsQuantumTask # restore task with unique arn task_load = AwsQuantumTask(arn=task_id) # retrieve the result of the task result = task_load.result()