Pemecahan Masalah Peningkatan Python 3.12 - Amazon Braket

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Pemecahan Masalah Peningkatan Python 3.12

Tanggal Efektif: 21 Januari 2026

Ikhtisar

Efektif 21 Januari 2026, Amazon Braket meningkatkan runtime Python dari 3.10 menjadi 3.12 untuk semua Instans Notebook dan image container terkelola (Basis, CUDA-Q,, dan). TensorFlow PyTorch Panduan ini memberikan solusi untuk masalah kompatibilitas umum.

Pesan Kesalahan Umum

Kesalahan Ketidakcocokan Versi Python SDK

Kesalahan:

RuntimeError: Python version must match between local environment and container. Client is running Python 3.10 locally, but container uses Python 3.12.

Penyebab: Braket SDK mendeteksi notebook Anda menjalankan Python 3.10 tetapi container Hybrid Job menjalankan Python 3.12.

Solusi: Tingkatkan notebook Anda ke Python 3.12 atau pin ke kontainer Python 3.10.

Kesalahan Serialisasi Cloudpickle

Kesalahan:

TypeError: code() argument 13 must be str, not int

Penyebab: Jika validasi SDK dilewati, cloudpickle gagal membuat serial kode antara Python 3.10 dan 3.12 karena perubahan konstruktor pada Python 3.12. CodeType

Solusi: Pastikan notebook dan wadah Anda menggunakan versi Python yang sama.

Notebook Dikelola Braket

Jika Anda menjalankan Instance Notebook Braket di Python 3.10 dan mengirimkan Pekerjaan Hybrid, Anda akan menemukan kesalahan ketidakcocokan versi karena container pekerjaan sekarang menggunakan Python 3.12 secara default.

Anda memiliki dua pilihan:

  1. [Direkomendasikan] Buat Instance Notebook baru dengan Python 3.12 - lihat Peningkatan Instans Notebook Braket

  2. Sematkan ke kontainer Python 3.10 - lihat Hybrid Job Decorator

Hybrid Job Decorator

Untuk menggunakan @hybrid_job dekorator, versi Python lingkungan Anda harus cocok dengan versi Python container.

Opsi 1: Gunakan Python 3.12 Container (Disarankan)

Jika Anda telah memutakhirkan lingkungan Anda ke Python 3.12, ia menggunakan tag terbaru (perilaku default).

Opsi 2: Gunakan Python 3.10 Container

Jika Anda harus tetap menggunakan Python 3.10, tentukan parameter secara eksplisit di dekorator. image_uri @hybrid_job

Python 3.10 Tag Kontainer:

Nama Gambar

Tag

Basis

1.0-cpu-py310-ubuntu22.04

CUDA-Q

0.12.0-cpu-py310-0.12.0

PyTorch

2.2.0-gpu-py310-cu121-ubuntu20.04

TensorFlow

2.14.1-gpu-py310-cu118-ubuntu20.04

Contoh berikut adalah untuk Wilayah us-west-2.

Gambar penuh URIs:

Base: 292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-base-jobs:1.0-cpu-py310-ubuntu22.04 CUDA-Q: 292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-cudaq-jobs:0.12.0-cpu-py310-0.12.0 PyTorch: 292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-pytorch-jobs:2.2.0-gpu-py310-cu121-ubuntu20.04 TensorFlow: 292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-tensorflow-jobs:2.14.1-gpu-py310-cu118-ubuntu20.04

Contoh:

from braket.jobs.hybrid_job import hybrid_job from braket.devices import Devices device_arn = Devices.Amazon.SV1 @hybrid_job( device=device_arn, image_uri="292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-base-jobs:1.0-cpu-py310-ubuntu22.04" ) def my_job(): pass
catatan

Bring-Your-Own-Container (BYOC)

Jika Dockerfile Anda menggunakan gambar terkelola Braket dengan tag terbaru, membangun kembali setelah 21 Januari 2026 akan menarik gambar yang didukung Python 3.12.

Untuk tetap menggunakan gambar terkelola Braket yang didukung Python 3.10, perbarui Dockerfile Anda:

Sebelum (mendapat Python 3.12 setelah peningkatan):

FROM 292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-base-jobs:latest FROM 292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-cudaq-jobs:latest FROM 292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-tensorflow-jobs:latest FROM 292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-pytorch-jobs:latest

Setelah (tetap menggunakan Python 3.10):

FROM 292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-base-jobs:1.0-cpu-py310-ubuntu22.04 FROM 292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-cudaq-jobs:0.12.0-cpu-py310-0.12.0 FROM 292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-pytorch-jobs:2.2.0-gpu-py310-cu121-ubuntu20.04 FROM 292282985366.dkr.ecr.us-west-2.amazonaws.com/amazon-braket-tensorflow-jobs:2.14.1-gpu-py310-cu118-ubuntu20.04

Peningkatan Instans Notebook Braket

Ikuti langkah-langkah berikut untuk meningkatkan ke Python 3.12:

penting

Sebelum menghapus instance notebook Anda, pastikan Anda telah mengunduh semua buku catatan dan file yang ingin Anda simpan. Data ini tidak dapat dipulihkan setelah penghapusan.

  1. Unduh buku catatan apa pun yang Anda buat atau modifikasi ke drive lokal.

  2. Hentikan instans notebook Anda.

  3. Hapus instans notebook Anda.

  4. Buat instance notebook baru dengan nama yang berbeda.

  5. Unggah buku catatan Anda ke instans baru.