Bentuk siaran tensor
Tentukan bentuk tensor bersama dari dimensi terakhir dan perluasan sumbu satuan.
from itertools import zip_longest
def broadcast_shape(a, b):
a, b = tuple(a), tuple(b)
if any(type(d) is not int or d < 0 for d in a + b):
raise ValueError("dimension.invalid")
result = []
for left, right in zip_longest(reversed(a), reversed(b), fillvalue=1):
if left == right or right == 1:
result.append(left)
elif left == 1:
result.append(right)
else:
raise ValueError("shape.incompatible")
return tuple(reversed(result))Proyek
Uji skalar dan sumbu kosong bersama dimensi satuan, tolak dimensi tak cocok, negatif atau pecahan.
Tinjau sebelum menerapkan
Bandingkan perilaku sebenarnya dengan hasil yang diharapkan. Jika pemeriksaan gagal, cari penyebabnya sebelum membuat perubahan lain.
Model
Atur endpoint kompatibel OpenAI atau Anthropic dengan URL dasar dan kunci API jika diperlukan. Uji koneksi. Server model lokal harus berjalan; alat jarak jauh dapat mengirim data secara terpisah.
from itertools import zip_longest
def broadcast_shape(a, b):
a, b = tuple(a), tuple(b)
if any(type(d) is not int or d < 0 for d in a + b):
raise ValueError("dimension.invalid")
result = []
for left, right in zip_longest(reversed(a), reversed(b), fillvalue=1):
if left == right or right == 1:
result.append(left)
elif left == 1:
result.append(right)
else:
raise ValueError("shape.incompatible")
return tuple(reversed(result))Telusuri asumsi bentuk di seluruh proyek numerik
ShapeEstuary memberi pekerjaan perangkat lunak numerik ruang kerja Windows tempat folder proyek dan percakapan AI tetap terhubung. Mulailah dengan operasi yang gagal atau menghasilkan bentuk tak terduga. Minta model pilihan Anda memeriksa transformasi di sekitarnya dan menjelaskan asumsi sebelum meminta patch. Pendekatan itu menjaga penyelidikan terkait dengan alur pemrosesan yang benar-benar memakai hasilnya.
Misalnya, broadcast.py dapat menjadi dasar tinjauan kompatibilitas bentuk. Permintaan yang berguna menyebutkan dimensi masukan, bentuk keluaran yang diharapkan, dan perilaku yang diwajibkan untuk masukan tidak kompatibel. Tanyakan cara hasil fungsi pembantu digunakan di tahap selanjutnya, alih-alih memperlakukan contoh sebagai sistem numerik lengkap. Perangkat lunak menyediakan ruang kerja pemrograman; proyek Anda menentukan pustaka array, data, dan pemeriksaan runtime yang dibutuhkan tugas.
Model AI tanpa pembatasan tersedia untuk dipilih bila endpoint kompatibel OpenAI atau Anthropic yang didukung menyediakannya. Atur alamat layanan dan kredensial wajib, lalu periksa kemampuannya untuk tugas Anda. Tinjau suntingan usulan dan uji bentuk representatif, termasuk dimensi kosong bila diizinkan kontrak. Bandingkan perilaku hasil dengan pustaka numerik yang dipakai aplikasi. Ini memberi percakapan bukti kompatibilitas tanpa menyamakan penjelasan model yang yakin dengan perilaku numerik yang terverifikasi.
Pertanyaan tinjauan untuk pekerjaan bentuk numerik
Apa yang perlu menyertai laporan ketidakcocokan bentuk?
Berikan bentuk masukan, operasi yang gagal, hasil yang diharapkan, dan versi pustaka terkait. Kasus kecil yang dapat direproduksi membantu menghubungkan gejala dengan sumber. Hindari mengirim himpunan data besar jika dimensi dan nilai representatif dapat menjelaskan masalahnya.
Apakah ruang kerja ini menyediakan akselerasi GPU?
Alur kerja pemrograman ini tidak membuktikan adanya kemampuan akselerasi. Pustaka, perangkat keras, dan runtime proyek Anda menentukan eksekusi. Gunakan ShapeEstuary untuk memeriksa dan membahas perubahan kode, lalu ukur dan verifikasi di lingkungan tempat pekerjaan numerik dijalankan.
Bagaimana seharusnya dimensi berukuran nol ditangani?
Nyatakan apakah aplikasi menerimanya dan bandingkan perilaku usulan dengan pustaka array-nya. Uji kombinasi valid dan tidak kompatibel. Jangan biarkan aturan umum tentang dimensi positif diam-diam menggantikan kontrak yang sudah mengizinkan hasil kosong.
Haruskah kode tahap selanjutnya diubah ketika fungsi pembantu berubah?
Periksa pengguna hasilnya terlebih dahulu. Bentuk keluaran atau tipe kesalahan berbeda mungkin memerlukan pembaruan terkoordinasi. Minta identifikasi asumsi yang terdampak, lalu tinjau suntingan itu bersama-sama dan jalankan pengujian yang mencakup seluruh operasi.
ShapeEstuary · Diperbarui 2026-10-25