GRU-netwerk
Naast LSTM's is een andere populaire variant van recurrent neural networks de Gated Recurrent Unit, of GRU. De kracht zit in de eenvoud: GRU-cellen vergen minder rekenkracht dan LSTM-cellen en halen vaak vergelijkbare prestaties.
De code die je krijgt is de RNN-modeldefinitie die je eerder hebt geschreven. Je taak is om deze aan te passen zodat er in plaats daarvan een GRU-netwerk ontstaat. torch en torch.nn as nn zijn al voor je geïmporteerd.
Deze oefening maakt deel uit van de cursus
Gevorderde Deep Learning met PyTorch
Oefeninstructies
- Werk de RNN-modeldefinitie bij zodat je een GRU-netwerk krijgt; wijs de GRU-laag toe aan
self.gru.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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