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