Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Buat Job Hybrid pertama Anda
Bagian ini menunjukkan cara membuat Job Hybrid menggunakan skrip Python. Atau, untuk membuat pekerjaan hybrid dari kode Python lokal, seperti lingkungan pengembangan terintegrasi (IDE) pilihan Anda atau notebook Braket, lihat. Menjalankan kode lokal Anda sebagai pekerjaan hybrid
Di bagian ini:
Tetapkan izin
Sebelum Anda menjalankan pekerjaan hybrid pertama Anda, Anda harus memastikan bahwa Anda memiliki izin yang cukup untuk melanjutkan tugas ini. Untuk menentukan bahwa Anda memiliki izin yang benar, pilih Izin dari menu di sisi kiri Konsol Braket. Halaman Manajemen Izin untuk Amazon Braket membantu Anda memverifikasi apakah salah satu peran yang ada memiliki izin yang cukup untuk menjalankan pekerjaan hibrida atau memandu Anda melalui pembuatan peran default yang dapat digunakan untuk menjalankan pekerjaan hibrida jika Anda belum memiliki peran seperti itu.
Untuk memverifikasi bahwa Anda memiliki peran dengan izin yang cukup untuk menjalankan pekerjaan hibrida, pilih tombol Verifikasi peran yang ada. Jika ya, Anda mendapat pesan bahwa peran itu ditemukan. Untuk melihat nama peran dan perannya ARNs, pilih tombol Tampilkan peran.
Jika Anda tidak memiliki peran dengan izin yang cukup untuk menjalankan pekerjaan hibrida, Anda mendapatkan pesan bahwa peran tersebut tidak ditemukan. Pilih tombol Buat peran default untuk mendapatkan peran dengan izin yang memadai.
Jika peran berhasil dibuat, Anda mendapatkan pesan yang mengonfirmasi hal ini.
Jika Anda tidak memiliki izin untuk mengajukan pertanyaan ini, Anda akan ditolak aksesnya. Dalam hal ini, hubungi AWS administrator internal Anda.
Buat dan jalankan
Setelah Anda memiliki peran dengan izin untuk menjalankan pekerjaan hibrida, Anda siap untuk melanjutkan. Bagian kunci dari pekerjaan hybrid Braket pertama Anda adalah skrip algoritma. Ini mendefinisikan algoritma yang ingin Anda jalankan dan berisi logika klasik dan tugas kuantum yang merupakan bagian dari algoritma Anda. Selain skrip algoritme Anda, Anda dapat menyediakan file ketergantungan lainnya. Skrip algoritma bersama dengan dependensinya disebut modul sumber. Titik masuk mendefinisikan file atau fungsi pertama yang dijalankan di modul sumber Anda saat pekerjaan hybrid dimulai.
Pertama, pertimbangkan contoh dasar berikut dari skrip algoritme yang menciptakan lima status lonceng dan mencetak hasil pengukuran yang sesuai.
import os from braket.aws import AwsDevice from braket.circuits import Circuit def start_here(): print("Test job started!") # Use the device declared in the job script device = AwsDevice(os.environ["AMZN_BRAKET_DEVICE_ARN"]) 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!")
Simpan file ini dengan nama algorithm_script.py di direktori kerja Anda saat ini di notebook Braket atau lingkungan lokal Anda. File algorithm_script.py memiliki start_here() titik masuk yang direncanakan.
Selanjutnya, buat file Python atau notebook Python di direktori yang sama dengan file algorithm_script.py. Skrip ini memulai pekerjaan hybrid dan menangani pemrosesan asinkron apa pun, seperti mencetak status atau hasil utama yang kami minati. Minimal, skrip ini perlu menentukan skrip pekerjaan hybrid dan perangkat utama Anda.
catatan
Untuk informasi selengkapnya tentang cara membuat buku catatan Braket atau mengunggah file, seperti file algorithm_script.py, di direktori yang sama dengan notebook, lihat Menjalankan sirkuit pertama Anda menggunakan Amazon Braket Python SDK
Untuk kasus pertama dasar ini, Anda menargetkan simulator. Jenis perangkat kuantum apa pun yang Anda targetkan, simulator atau unit pemrosesan kuantum aktual (QPU), perangkat yang Anda tentukan device dalam skrip berikut digunakan untuk menjadwalkan pekerjaan hibrida dan tersedia untuk skrip algoritme sebagai variabel lingkungan. AMZN_BRAKET_DEVICE_ARN
catatan
Anda hanya dapat menggunakan perangkat yang tersedia di Wilayah AWS pekerjaan hybrid Anda. Amazon Braket SDK auto memilih ini. Wilayah AWS Misalnya, pekerjaan hybrid di us-east-1 dapat IonQ menggunakanSV1,,, TN1 dan perangkatDM1, tetapi bukan perangkat. Rigetti
Jika Anda memilih komputer kuantum alih-alih simulator, Braket menjadwalkan pekerjaan hibrida Anda untuk menjalankan semua tugas kuantum mereka dengan akses prioritas.
from braket.aws import AwsQuantumJob from braket.devices import Devices job = AwsQuantumJob.create( Devices.Amazon.SV1, source_module="algorithm_script.py", entry_point="algorithm_script:start_here", wait_until_complete=True )
Parameter wait_until_complete=True menetapkan mode verbose sehingga pekerjaan Anda mencetak output dari pekerjaan yang sebenarnya saat sedang berjalan. Anda akan melihat output yang mirip dengan contoh berikut.
Initializing Braket Job: arn:aws:braket:us-west-2:111122223333:job/braket-job-default-123456789012 Job queue position: 1 Job queue position: 1 Job queue position: 1 .............. . . . Beginning Setup Checking for Additional Requirements Additional Requirements Check Finished Running Code As Process Test job started! Counter({'00': 58, '11': 42}) Counter({'00': 55, '11': 45}) Counter({'11': 51, '00': 49}) Counter({'00': 56, '11': 44}) Counter({'11': 56, '00': 44}) Test job completed! Code Run Finished 2025-09-24 23:13:40,962 sagemaker-training-toolkit INFO Reporting training SUCCESS
catatan
Anda juga dapat menggunakan modul yang dibuat khusus dengan AwsQuantumJobmetode.create
Memantau hasil
Atau, Anda dapat mengakses output log dari Amazon CloudWatch. Untuk melakukan ini, buka tab Grup log di menu kiri halaman detail pekerjaan, pilih grup logaws/braket/jobs, lalu pilih aliran log yang berisi nama pekerjaan. Dalam contoh di atas, ini adalahbraket-job-default-1631915042705/algo-1-1631915190.
Anda juga dapat melihat status pekerjaan hybrid di konsol dengan memilih halaman Pekerjaan Hybrid dan kemudian memilih Pengaturan.
Pekerjaan hybrid Anda menghasilkan beberapa artefak di Amazon S3 saat berjalan. Nama bucket S3 default adalah amazon-braket-<region>-<accountid> dan isinya ada di jobs/<jobname>/<timestamp> direktori. Anda dapat mengonfigurasi lokasi S3 tempat artefak ini disimpan dengan menentukan yang berbeda code_location saat pekerjaan hybrid dibuat dengan Braket Python SDK.
catatan
Bucket S3 ini harus terletak Wilayah AWS sama dengan skrip pekerjaan Anda.
jobs/<jobname>/<timestamp>Direktori berisi subfolder dengan output dari skrip titik masuk dalam model.tar.gz file. Ada juga direktori bernama script yang berisi artefak skrip algoritma Anda dalam sebuah source.tar.gz file. Hasil dari tugas kuantum Anda yang sebenarnya ada di direktori bernamajobs/<jobname>/tasks.
Menyimpan hasil pekerjaan Anda
Anda dapat menyimpan hasil yang dihasilkan oleh skrip algoritme sehingga tersedia dari objek pekerjaan hibrida dalam skrip pekerjaan hibrida serta dari folder keluaran di Amazon S3 (dalam file tar-zip bernama model.tar.gz).
Output harus disimpan dalam file menggunakan format JavaScript Object Notation (JSON). Jika data tidak dapat dengan mudah diserialisasikan ke teks, seperti dalam kasus array numpy, Anda dapat meneruskan opsi untuk membuat serial menggunakan format data acar. Lihat modul braket.jobs.data_persistence
Untuk menyimpan hasil pekerjaan hybrid, tambahkan baris berikut yang dikomentari dengan #ADD ke file algorithm_script.py.
import os 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!")
Anda kemudian dapat menampilkan hasil pekerjaan dari skrip pekerjaan Anda dengan menambahkan baris yang print(job.result())dikomentari dengan #ADD.
import time from braket.aws import AwsQuantumJob job = AwsQuantumJob.create( source_module="algorithm_script.py", entry_point="algorithm_script:start_here", device="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
Dalam contoh ini, kami telah menghapus wait_until_complete=True untuk menekan output verbose. Anda dapat menambahkannya kembali untuk debugging. Ketika Anda menjalankan pekerjaan hibrida ini, ia mengeluarkan pengenal danjob-arn, diikuti oleh status pekerjaan hibrida setiap 10 detik hingga pekerjaan hibridaCOMPLETED, setelah itu menunjukkan kepada Anda hasil sirkuit bel. Lihat contoh berikut ini.
arn:aws:braket:us-west-2:111122223333:job/braket-job-default-123456789012 INITIALIZED RUNNING RUNNING RUNNING RUNNING RUNNING RUNNING RUNNING RUNNING RUNNING RUNNING ... RUNNING RUNNING COMPLETED {'measurement_counts': [{'11': 53, '00': 47},..., {'00': 51, '11': 49}]}
Menyimpan dan memulai kembali pekerjaan hibrida menggunakan pos pemeriksaan
Anda dapat menyimpan iterasi menengah dari pekerjaan hybrid Anda menggunakan pos pemeriksaan. Dalam contoh skrip algoritma dari bagian sebelumnya, Anda akan menambahkan baris berikut yang dikomentari dengan #ADD untuk membuat file pos pemeriksaan.
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 hybrid job completed!")
Saat Anda menjalankan pekerjaan hybrid, itu membuat file -checkpoint-1.json <jobname>di artefak pekerjaan hybrid Anda di direktori pos pemeriksaan dengan jalur default. /opt/jobs/checkpoints Skrip pekerjaan hybrid tetap tidak berubah kecuali Anda ingin mengubah jalur default ini.
Jika Anda ingin memuat pekerjaan hybrid dari pos pemeriksaan yang dihasilkan oleh pekerjaan hybrid sebelumnya, skrip algoritme menggunakanfrom braket.jobs import load_job_checkpoint. Logika untuk memuat dalam skrip algoritme Anda adalah sebagai berikut.
from braket.jobs import load_job_checkpoint checkpoint_1 = load_job_checkpoint( "previous_job_name", checkpoint_file_suffix="checkpoint-1", )
Setelah memuat pos pemeriksaan ini, Anda dapat melanjutkan logika berdasarkan konten yang dimuatcheckpoint-1.
catatan
Checkpoint_file_suffix harus cocok dengan akhiran yang ditentukan sebelumnya saat membuat pos pemeriksaan.
Skrip orkestrasi Anda perlu menentukan job-arn dari pekerjaan hybrid sebelumnya dengan baris yang dikomentari dengan #ADD.
from braket.aws import AwsQuantumJob job = AwsQuantumJob.create( source_module="source_dir", entry_point="source_dir.algorithm_script:start_here", device="arn:aws:braket:::device/quantum-simulator/amazon/sv1", copy_checkpoints_from_job="<previous-job-ARN>", #ADD )