Memodelkan Tensor di Mojo
Bentuk, stride, dan tata letak elemen.
Memodelkan Tensor di Mojo adalah pelajaran Mojo Academy gratis di CoddyKit. Ini adalah pelajaran 1 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Mojo Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Mojo Academy mencakup 4 pelajaran total.
Apa Itu Tensor?
Tensor hanyalah kisi angka berdimensi-n. Vektor berdimensi 1, matriks berdimensi 2, dan sekumpulan gambar sering kali berdimensi 4.
Memori Datar di Baliknya
Bagaimanapun Anda membayangkan dimensinya, tensor sebenarnya berada sebagai satu buffer datar berisi nilai-nilai di memori, yang ditata secara berurutan.
var data = List[Float32](0, 1, 2, 3, 4, 5)Bentuk Menjelaskan Kisi
Bentuk adalah tupel ukuran, satu untuk setiap dimensi. Bentuk (2, 3) berarti dua baris yang masing-masing memiliki tiga kolom.
var shape = (2, 3) # 2 rows, 3 colsIndeks Memilih Elemen
Anda menamai sebuah elemen dengan satu indeks untuk setiap dimensi. Dalam tensor (2, 3), (1, 2) adalah kolom terakhir pada baris kedua.
Strides Memetakan ke Memori
Sebuah stride memberi tahu berapa banyak slot datar yang harus dilewati untuk berpindah satu langkah sepanjang dimensi. Stride mengubah indeks menjadi satu offset.
var strides = (3, 1) # row jump 3, col jump 1Rumus Offset
Ratakan indeks apa pun dengan hasil kali titik: offset sama dengan jumlah setiap indeks dikalikan stride-nya. Offset tersebut mengarah ke slot yang tepat.
offset = i * strides[0] + j * strides[1]Tata Letak Mayor-Baris
Kode numerik Mojo biasanya menyimpan baris secara berurutan, yang disebut mayor-baris. Dimensi terakhir memiliki stride 1, sehingga kolom berada berdampingan.
Mengapa Stride Sangat Berguna
Dengan stride yang cermat, Anda dapat melihat, mengiris, atau mentransposisikan tensor tanpa menyalin data. Hanya stride yang berubah, bukan buffer-nya.
Tipe Elemen Penting
Setiap tensor memiliki dtype tetap, seperti Float32 atau Int64. Tipe yang seragam memungkinkan Mojo mengemas nilai dengan rapat dan menghitung dengan cepat.
alias dtype = DType.float32Struktur Tensor Minimal
Anda dapat memodelkan tensor sebagai struct yang menggabungkan pointer data dengan bentuk dan stride-nya, sehingga informasi tata letak tersimpan di satu tempat.
struct Tensor:
var data: UnsafePointer[Float32]
var shape: (Int, Int)
var strides: (Int, Int)Kontigu vs Ber-Stride
Tensor kontigu tidak memiliki celah, sehingga pemindaian linear tidak mahal. Tampilan dengan stride dapat melompat-lompat, sehingga akses memori bisa melambat.
Pemeriksaan Singkat
Anda memiliki tensor (2, 3) dengan urutan baris utama. Bagaimana cara mencapai elemen (1, 2)?
Rangkuman
Tensor adalah buffer datar beserta bentuk dan stride; rumus offset memetakan indeks ke memori, dan urutan baris utama menjaga kolom tetap kontigu. 🧮
Belajar Mojo dengan tutor AI — gratis
Tulis dan jalankan kode asli di browser kamu, dapatkan bantuan instan dari tutor AI 24/7, dan lanjutkan di mana kamu tinggalkan di web atau aplikasi.
- Kursus
- 30
- Pelajaran
- 120
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Memodelkan Tensor di Mojo” gratis?
Ya — teks lengkap “Memodelkan Tensor di Mojo” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Mojo Academy, upgrade ke CoddyKit PRO. Kursus Mojo Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Memodelkan Tensor di Mojo”?
Bentuk, stride, dan tata letak elemen. Kamu berlatih Mojo Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Mojo Academy?
Tidak diperlukan pengalaman sebelumnya. Mojo Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 1 dari 4.
Berapa lama pelajaran “Memodelkan Tensor di Mojo” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Mojo Academy ini?
Ya. Setiap pelajaran Mojo Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Memodelkan Tensor di Mojo
- Membangun Matmul Langkah demi Langkah
- Mengoptimalkan Hasil Kali Dalam
- Memverifikasi Kebenaran Numerik