Reshape, View, Squeeze, dan Unsqueeze
Ubah dimensi tanpa menyalin data
Reshape, View, Squeeze, dan Unsqueeze adalah pelajaran Deep Learning Academy gratis di CoddyKit. Ini adalah pelajaran 2 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 Deep Learning Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Deep Learning Academy mencakup 4 pelajaran total.
Bagian dari pelajaran ini belum diterjemahkan dan ditampilkan dalam bahasa Inggris.
Same Data, Different Shape
Often the numbers are right but the layout is wrong. Reshaping rearranges a tensor's dimensions without changing the values inside.
reshape Picks a New Layout
Call reshape with the dimensions you want. The total number of elements must stay the same.
x = torch.arange(6)
y = x.reshape(2, 3)
print(y.shape) # torch.Size([2, 3])Let -1 Infer a Dimension
Pass -1 for one dimension and PyTorch computes it for you from the total count. Handy when you only know the rest.
x = torch.arange(6)
y = x.reshape(-1, 2)
print(y.shape) # torch.Size([3, 2])view Shares the Same Memory
view reshapes without copying, so it is fast. It needs the data to be laid out contiguously in memory.
x = torch.arange(6)
y = x.view(3, 2)
print(y.shape) # torch.Size([3, 2])reshape Is the Safer Default
When in doubt, reach for reshape. It works even on non-contiguous tensors by copying only if it must.
Squeeze Removes Size-1 Dims
squeeze strips out any dimension of length 1. It cleans up shapes like (1, 5) down to a simple (5).
x = torch.zeros(1, 5)
y = x.squeeze()
print(y.shape) # torch.Size([5])Squeeze a Specific Dimension
Give squeeze an index to remove only that dimension. Safer when other size-1 dims should stay put.
x = torch.zeros(1, 5, 1)
y = x.squeeze(0)
print(y.shape) # torch.Size([5, 1])Unsqueeze Adds a Dimension
unsqueeze inserts a new size-1 dimension at the position you choose. It is the exact opposite of squeeze.
x = torch.tensor([1, 2, 3])
y = x.unsqueeze(0)
print(y.shape) # torch.Size([1, 3])Why You Add a Batch Dimension
Models expect a batch dimension up front. unsqueeze(0) turns one sample into a batch of one so the model accepts it.
sample = torch.randn(3)
batch = sample.unsqueeze(0)
print(batch.shape) # torch.Size([1, 3])Flatten Down to One Line
flatten collapses every dimension into a single long vector. It is common right before a final linear layer.
x = torch.zeros(2, 3)
y = x.flatten()
print(y.shape) # torch.Size([6])Element Count Never Changes
Every reshape trick keeps the same total number of values. If the counts don't match, PyTorch raises a shape error.
Quick Check
Let's see if you can predict the shape changes.
Recap: Reshape, View, Squeeze & Unsqueeze
You can now bend tensors into any layout: reshape for flexibility, view for speed, and squeeze or unsqueeze to drop and add dimensions. 🔧
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Reshape, View, Squeeze, dan Unsqueeze” gratis?
Ya — teks lengkap “Reshape, View, Squeeze, dan Unsqueeze” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Deep Learning Academy, upgrade ke CoddyKit PRO. Kursus Deep Learning Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Reshape, View, Squeeze, dan Unsqueeze”?
Ubah dimensi tanpa menyalin data Kamu berlatih Deep Learning 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 Deep Learning Academy?
Tidak diperlukan pengalaman sebelumnya. Deep Learning 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 2 dari 4.
Berapa lama pelajaran “Reshape, View, Squeeze, dan Unsqueeze” 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 Deep Learning Academy ini?
Ya. Setiap pelajaran Deep Learning 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
- Bentuk, Dtype, dan Pengindeksan
- Reshape, View, Squeeze, dan Unsqueeze
- Aturan Broadcasting yang Menghemat Perulangan
- Tensor Berinteraksi dengan NumPy