Deep Learning Academy · Ders

Dizileri Paketleme ve Dolguyu Ele Alma

Değişken uzunluklarda verimli biçimde eğitim yapın.

4. ders / 413 adım

Dizileri Paketleme ve Dolguyu Ele Alma, CoddyKit'te ücretsiz bir Deep Learning Academy dersidir. Bu, 4 dersinin 4. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Deep Learning Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Deep Learning Academy kursu toplamda 4 dersten oluşur.

Toplu İşler Dikdörtgen İster

Birden fazla diziyi aynı anda işlemek için bir toplu iş düzgün bir dikdörtgen olmalıdır. Ancak gerçek cümlelerin uzunlukları farklıdır ve satırlar hizalanmaz.

Ortak Uzunluğa Dolgu Ekleme

Çözüm dolgu eklemektir: kısa dizilere, genellikle sıfırlar olmak üzere, dolgu belirteçleri eklenir; böylece toplu işteki her satır aynı uzunluğa gelir.

pad_sequence Yardımcısı

PyTorch'un pad_sequence işlevi, değişken uzunluktaki tensor listesini tek bir çağrıyla dolgulu bir toplu işte birleştirir.

from torch.nn.utils.rnn import pad_sequence
batch = pad_sequence(seqs, batch_first=True)

Dolgu Hesaplama Kaybına Yol Açar

Bu dolgu belirteçleri sahtedir. RNN bunları yine de işlerse hesaplama gücü harcar ve dolgunun gizli durumu bozmasına izin verebilir.

Gerçek Uzunlukları Takip Edin

Dolgu eklemeden önce her dizinin gerçek uzunluğunu kaydedin. PyTorch'a bu uzunlukları vererek gerçek verinin nerede sona erdiğini bildirin.

lengths = [len(s) for s in seqs]

Toplu İşi Paketleme

pack_padded_sequence, dolgulu toplu işi ve uzunlukları RNN'nin dolguyu işlemeye gerek kalmadan çalışabileceği sıkıştırılmış bir biçime dönüştürür.

packed = pack_padded_sequence(batch, lengths, batch_first=True)

RNN'yi Paketlenmiş Veride Çalıştırın

Paketlenmiş nesneyi doğrudan nn.LSTM veya nn.GRU'ya verin. Hücre dolgulu adımları atlar; böylece bellek temiz ve anlaşılır kalır.

out_packed, h_n = lstm(packed)

Çıktının Paketini Açın

Adım adım çıktıları yeniden okumak için RNN işlemi tamamlandıktan sonra dikdörtgen dolgulu biçimi geri yükleyen pad_packed_sequence işlevini çağırın.

out, lengths = pad_packed_sequence(out_packed, batch_first=True)

Uzunluğa Göre Sıralayın

Klasik paketleme, dizilerin en uzun olandan başlayarak sıralanmasını ister. enforce_sorted değerini False olarak ayarlarsanız PyTorch sıralanmamış toplu işleri sizin için yönetir.

Kaybı Maskeleyin

Paketleme kullansanız bile puanlama sırasında dolgulu konumları yok sayın. Bir maske veya ignore_index, sahte belirteçlerin kayba dahil olmasını engeller.

loss_fn = nn.CrossEntropyLoss(ignore_index=PAD_ID)

DataLoader'a Bağlayın

Dolgu ekleme işlemini özel bir collate_fn içinde gerçekleştirin. Böylece her toplu iş, paketlemeye hazır uzunluklarla birlikte dolgulanmış olarak gelir.

Hızlı Kontrol

RNN'ye vermeden önce dolgulu bir toplu işi neden paketlersiniz?

Özet

Toplu işi hizalamak için dolgu ekleyin, gerçek uzunlukları takip edin ve RNN'nin dolguyu yok sayması için ardından paketleyin. Kayıp hesaplanırken dolgulu belirteçleri de maskeleyin. ✅

Başlamak ücretsiz

Yapay zeka eğitmeniyle Python öğren — ücretsiz

Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.

Kurslar
30
Dersler
120

Sıkça Sorulan Sorular

“Dizileri Paketleme ve Dolguyu Ele Alma” dersi ücretsiz mi?

Evet — “Dizileri Paketleme ve Dolguyu Ele Alma” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Deep Learning Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Deep Learning Academy kursu toplamda 4 dersten oluşur.

“Dizileri Paketleme ve Dolguyu Ele Alma” dersinde ne öğreneceğim?

Değişken uzunluklarda verimli biçimde eğitim yapın. Deep Learning Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Deep Learning Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Deep Learning Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 4. dersidir.

“Dizileri Paketleme ve Dolguyu Ele Alma” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Deep Learning Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Deep Learning Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Diziler Neden Belleğe İhtiyaç Duyar
  2. Temel RNN Hücresi
  3. LSTM ve GRU Kapıları
  4. Dizileri Paketleme ve Dolguyu Ele Alma
← Deep Learning Academy Sayfasına Dön