BaşlayınÜcretsiz Başlayın

LSTM ağı

Bildiğin gibi, düz RNN hücreleri pratikte pek sık kullanılmaz. Uzun dizileri çok daha iyi ele alan ve daha sık tercih edilen alternatif Long Short-Term Memory hücreleri, yani LSTM’lerdir. Bu egzersizde, bir LSTM ağını kendin kuracaksın!

Önceden kurduğun RNN ağından en önemli uygulama farkı, LSTM’lerin bir yerine iki gizli duruma sahip olmasıdır. Bu da ek bir gizli durumu başlatman ve LSTM hücresine iletmen gerektiği anlamına gelir.

torch ve torch.nn senin için zaten içe aktarıldı, haydi kodlamaya başla!

Bu egzersiz

PyTorch ile Orta Düzey Deep Learning

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • .__init__() metodunda bir LSTM katmanı tanımla ve self.lstm’e ata.
  • forward() metodunda ilk uzun dönem bellek gizli durumunu c0 sıfırlarla başlat.
  • forward() metodunda, LSTM katmanına üç girdiyi de ilet: güncel zaman adımının girdileri ve iki gizli durumu içeren bir demet.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

class Net(nn.Module):
    def __init__(self, input_size):
        super().__init__()
        # Define lstm layer
        ____ = ____(
            input_size=1,
            hidden_size=32,
            num_layers=2,
            batch_first=True,
        )
        self.fc = nn.Linear(32, 1)

    def forward(self, x):
        h0 = torch.zeros(2, x.size(0), 32)
        # Initialize long-term memory
        c0 = ____
        # Pass all inputs to lstm layer
        out, _ = ____
        out = self.fc(out[:, -1, :])
        return out
Kodu Düzenle ve Çalıştır