기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Amazon Braket에서 양자 작업 추적 SDK
명령은 고유한 양자 작업 ID를 가진 양자 작업을 device.run(…)
정의합니다. 다음 예제와 task.state()
같이를 사용하여 상태를 쿼리하고 추적할 수 있습니다.
참고: task = device.run()
는 비동기 작업으로, 시스템이 백그라운드에서 양자 작업을 처리하는 동안 작업을 계속할 수 있습니다.
결과 검색
를 호출하면 task.result()
가 폴링을 SDK 시작합니다.Amazon 양자 작업이 완료되었는지 확인하기 위한 브레이크입니다. 는에서 정의한 폴링 파라미터를 SDK 사용합니다.run()
. 양자 작업이 완료되면는 S3 버킷에서 결과를 SDK 검색하여 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()