GRU ağı
LSTM'lerin yanı sıra, bir diğer popüler yinelemeli sinir ağı varyantı da Gated Recurrent Unit, yani GRU'dur. Cazibesi sadeliğinden gelir: GRU hücreleri, LSTM hücrelerine göre daha az hesaplama gerektirir ve çoğu zaman benzer bir performans yakalar.
Sana verilen kod, daha önce yazdığın RNN model tanımıdır. Görevin, bunu GRU ağı üretecek şekilde uyarlamaktır. torch ve torch.nn as nn senin için zaten içe aktarıldı.
Bu egzersiz, kursun bir parçasıdır
PyTorch ile Orta Düzey Deep Learning
Egzersiz talimatları
- GRU ağı elde etmek için RNN model tanımını güncelle; GRU katmanını
self.grudeğişkenine ata.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
class Net(nn.Module):
def __init__(self):
super().__init__()
# Define RNN layer
self.rnn = nn.RNN(
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)
out, _ = self.rnn(x, h0)
out = self.fc(out[:, -1, :])
return out