Batch, Pengacakan, dan num_workers
Konfigurasikan DataLoader untuk kecepatan
Batch, Pengacakan, dan num_workers 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.
Meet the DataLoader
A dataset hands over one sample at a time, but training wants groups. The DataLoader wraps your dataset and serves it in convenient batches. 📦
from torch.utils.data import DataLoader
loader = DataLoader(ds)Batching Saves Time
Set batch_size and the loader stacks that many samples into one tensor. Bigger batches use your hardware better and smooth out noisy updates.
loader = DataLoader(ds, batch_size=32)One Batch, Stacked Together
Each batch adds a new first dimension. Thirty-two samples of shape 784 become a single tensor shaped 32 by 784, ready for the model.
Loop Over Batches
You iterate the loader like any Python sequence. Each turn of the loop yields one batch of inputs and labels for your training step.
for xb, yb in loader:
pred = model(xb)Shuffle Every Epoch
Setting shuffle to True reorders samples each epoch. This breaks accidental ordering so the model cannot memorize the sequence of your data.
loader = DataLoader(ds, batch_size=32, shuffle=True)Shuffle Train, Not Test
Turn shuffling on for the training set but off for validation and test. Evaluation just measures performance, so a stable order is fine there.
num_workers Loads in Parallel
Reading and decoding data can stall the GPU. Setting num_workers above zero spawns helper processes that prepare the next batch while the model trains.
loader = DataLoader(ds, batch_size=32, num_workers=4)Pick a Sensible Worker Count
A common start for num_workers is the number of CPU cores you have. Too many can thrash memory, so measure rather than guess blindly.
pin_memory Speeds GPU Copies
When training on a GPU, set pin_memory to True. It places batches in page-locked memory so transfers to the device run noticeably faster.
loader = DataLoader(ds, batch_size=32, pin_memory=True)Handle the Last Batch
The final batch is often smaller than the rest. Use drop_last True to discard it when your model needs every batch the same size.
loader = DataLoader(ds, batch_size=32, drop_last=True)One Loader Per Split
In practice you build a separate loader for train, validation, and test. Each gets its own settings, like shuffle on only for training.
Quick Check
What does setting num_workers above zero actually do?
Recap
A DataLoader batches your dataset, shuffles training data, and uses num_workers to load batches in parallel. It keeps your model fed and fast. 🎉
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Batch, Pengacakan, dan num_workers” gratis?
Ya — teks lengkap “Batch, Pengacakan, dan num_workers” 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 “Batch, Pengacakan, dan num_workers”?
Konfigurasikan DataLoader untuk kecepatan 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 “Batch, Pengacakan, dan num_workers” 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
- Tulis Kelas Dataset Kustom
- Batch, Pengacakan, dan num_workers
- collate_fn untuk Masukan dengan Panjang Beragam
- Normalisasi dan Standarisasi Masukan