ジョブ結果の保存 - Amazon Braket

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ジョブ結果の保存

アルゴリズムスクリプトによって生成された結果を保存して、ハイブリッドジョブスクリプトのハイブリッドジョブオブジェクトから、および Amazon S3 の出力フォルダ (model.tar.gz という名前の tar-zipped ファイル) から結果を利用できるようにします。

出力は、 JavaScript オブジェクト表記 (JSON) 形式を使用してファイルに保存する必要があります。numpy 配列の場合のように、データをテキストに簡単にシリアル化できない場合は、ピクルドデータ形式を使用してシリアル化するオプションを渡すことができます。詳細については、braket.jobs.data_persistence モジュールを参照してください。

ハイブリッドジョブの結果を保存するには、アルゴリズムスクリプトに #ADD でコメントされた次の行を追加します。

from braket.aws import AwsDevice from braket.circuits import Circuit from braket.jobs import save_job_result #ADD def start_here(): print("Test job started!!!!!") device = AwsDevice(os.environ['AMZN_BRAKET_DEVICE_ARN']) results = [] #ADD bell = Circuit().h(0).cnot(0, 1) for count in range(5): task = device.run(bell, shots=100) print(task.result().measurement_counts) results.append(task.result().measurement_counts) #ADD save_job_result({ "measurement_counts": results }) #ADD print("Test job completed!!!!!")

その後、# でprint(job.result())コメントされた行を追加することで、ジョブスクリプトからジョブの結果を表示できますADD。

import time from braket.aws import AwsQuantumJob job = AwsQuantumJob.create( source_module="algorithm_script.py", entry_point="algorithm_script:start_here", device_arn="arn:aws:braket:::device/quantum-simulator/amazon/sv1", ) print(job.arn) while job.state() not in AwsQuantumJob.TERMINAL_STATES: print(job.state()) time.sleep(10) print(job.state()) print(job.result()) #ADD

この例では、wait_until_complete=True を削除して冗長出力を抑制します。デバッグ用に再度追加できます。このハイブリッドジョブを実行すると、識別子と が出力されjob-arn、ハイブリッドジョブの状態が になるまで 10 秒ごとにハイブリッドジョブの状態が出力されます。その後COMPLETED、ベル回路の結果が表示されます。次の例を参照してください。

arn:aws:braket:us-west-2:111122223333:job/braket-job-default-1234567890123 INITIALIZED RUNNING RUNNING RUNNING RUNNING RUNNING RUNNING RUNNING RUNNING RUNNING RUNNING ... RUNNING RUNNING COMPLETED {'measurement_counts': [{'11': 53, '00': 47},..., {'00': 51, '11': 49}]}