Deep Learning Academy · Pelajaran

Pengumpulan Kelompok, Pengocokan dan num_workers

Konfigurasikan DataLoader untuk kelajuan.

Pelajaran 2 daripada 413 langkah

Pengumpulan Kelompok, Pengocokan dan num_workers ialah pelajaran Deep Learning Academy percuma di CoddyKit. Ini ialah pelajaran 2 daripada 4. Anda boleh membaca keseluruhan pelajaran di bawah secara percuma — kemudian berlatih secara praktikal dalam pelayar menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7. Pelajaran ini merupakan sebahagian daripada laluan pembelajaran Deep Learning Academy, dan kemajuan anda disegerakkan merentas web serta aplikasi CoddyKit. Kursus Deep Learning Academy merangkumi sejumlah 4 pelajaran.

Kenali DataLoader

Set data menyerahkan satu sampel pada satu-satu masa, tetapi latihan memerlukan kumpulan. DataLoader membungkus set data anda dan menyediakannya dalam kelompok yang mudah digunakan. 📦

from torch.utils.data import DataLoader
loader = DataLoader(ds)

Pengelompokan Menjimatkan Masa

Tetapkan batch_size dan pemuat akan menyusun sebanyak itu sampel ke dalam satu tensor. Kelompok yang lebih besar menggunakan perkakasan anda dengan lebih baik dan melancarkan kemas kini yang bising.

loader = DataLoader(ds, batch_size=32)

Satu Kelompok, Disusun Bersama

Setiap kelompok menambah satu dimensi pertama yang baharu. Tiga puluh dua sampel berbentuk 784 menjadi satu tensor berbentuk 32 kali 784, yang sedia digunakan oleh model.

Gelung Merentasi Kelompok

Anda mengulangi pemuat seperti mana-mana jujukan Python. Setiap pusingan gelung menghasilkan satu kelompok input dan label untuk langkah latihan anda.

for xb, yb in loader:
    pred = model(xb)

Kocok Pada Setiap Epoch

Menetapkan shuffle kepada True menyusun semula sampel pada setiap epoch. Ini memecahkan susunan yang tidak disengajakan supaya model tidak dapat menghafal urutan data anda.

loader = DataLoader(ds, batch_size=32, shuffle=True)

Kocok Data Latihan, Bukan Ujian

Aktifkan pengocokan untuk set latihan, tetapi matikannya untuk pengesahan dan ujian. Penilaian hanya mengukur prestasi, jadi susunan yang stabil sudah memadai.

num_workers Memuatkan Secara Selari

Membaca dan menyahkod data boleh menyebabkan GPU menunggu. Menetapkan num_workers melebihi sifar mencipta proses pembantu yang menyediakan kelompok seterusnya semasa model berlatih.

loader = DataLoader(ds, batch_size=32, num_workers=4)

Pilih Bilangan Pekerja Yang Sesuai

Permulaan yang biasa untuk num_workers ialah bilangan teras CPU yang anda ada. Terlalu banyak pekerja boleh membebankan memori, jadi ukur prestasinya dan jangan meneka secara membuta tuli.

pin_memory Mempercepat Salinan GPU

Apabila berlatih pada GPU, tetapkan pin_memory kepada True. Ia meletakkan kelompok dalam memori berkunci halaman supaya pemindahan ke peranti berjalan dengan lebih pantas.

loader = DataLoader(ds, batch_size=32, pin_memory=True)

Urus Kelompok Terakhir

Kelompok terakhir selalunya lebih kecil daripada yang lain. Gunakan drop_last True untuk membuangnya apabila model anda memerlukan semua kelompok bersaiz sama.

loader = DataLoader(ds, batch_size=32, drop_last=True)

Satu Pemuat Bagi Setiap Pecahan

Dalam amalan, bina pemuat berasingan untuk latihan, pengesahan dan ujian. Setiap satunya mempunyai tetapan sendiri, seperti pengocokan yang hanya diaktifkan untuk latihan.

Semakan Pantas

Apakah sebenarnya yang dilakukan apabila num_workers ditetapkan melebihi sifar?

Ulang Kaji

DataLoader mengelompokkan set data anda, mengocok data latihan dan menggunakan num_workers untuk memuatkan kelompok secara selari. Ia memastikan model anda sentiasa menerima data dan berfungsi pantas. 🎉

Percuma untuk bermula

Pelajari Python dengan tutor kecerdasan buatan — percuma

Tulis dan jalankan kod sebenar dalam pelayar anda, dapatkan bantuan segera daripada tutor kecerdasan buatan yang tersedia 24/7, dan sambung semula dari tempat anda berhenti di web atau dalam aplikasi.

Kursus
30
Pelajaran
120

Soalan Lazim

Adakah pelajaran “Pengumpulan Kelompok, Pengocokan dan num_workers” percuma?

Ya — teks penuh “Pengumpulan Kelompok, Pengocokan dan num_workers” boleh dibaca secara percuma di web ini. Untuk berlatih secara interaktif menggunakan penyunting kod terbina dalam dan tutor kecerdasan buatan 24/7, serta membuka kunci baki kursus Deep Learning Academy, tingkat taraf kepada CoddyKit PRO. Kursus Deep Learning Academy merangkumi sejumlah 4 pelajaran.

Apakah yang akan saya pelajari dalam “Pengumpulan Kelompok, Pengocokan dan num_workers”?

Konfigurasikan DataLoader untuk kelajuan. Anda berlatih Deep Learning Academy menggunakan kod praktikal yang dijalankan terus dalam pelayar, manakala tutor kecerdasan buatan 24/7 menjawab soalan anda semasa anda mengikuti pelajaran.

Adakah saya memerlukan pengalaman untuk memulakan Deep Learning Academy?

Tiada pengalaman terdahulu diperlukan. Pembelajaran Deep Learning Academy di CoddyKit disusun untuk pelajar daripada peringkat pemula hingga lanjutan, jadi anda boleh bermula di sini atau dari awal dan belajar mengikut kadar anda sendiri. Ini ialah pelajaran 2 daripada 4.

Berapa lamakah pelajaran “Pengumpulan Kelompok, Pengocokan dan num_workers” diambil?

Kebanyakan pelajaran CoddyKit mengambil masa kira-kira 5–10 minit. Setiap pelajaran ringkas dan interaktif, jadi anda boleh membuat kemajuan secara berterusan dan menyambung tepat dari tempat anda berhenti di web atau aplikasi.

Bolehkah saya menulis dan menjalankan kod dalam pelajaran Deep Learning Academy ini?

Ya. Setiap pelajaran Deep Learning Academy menyertakan penyunting kod terbina dalam, jadi anda boleh menulis dan menjalankan kod sebenar terus dalam pelayar serta menerima maklum balas kecerdasan buatan serta-merta — tanpa memerlukan persediaan setempat.

Semua pelajaran dalam kursus ini

  1. Tulis Class Set Data Tersuai
  2. Pengumpulan Kelompok, Pengocokan dan num_workers
  3. collate_fn untuk Input Berubah Panjang
  4. Normalkan dan Seragamkan Input
← Kembali ke Deep Learning Academy