Aan de slagGa gratis aan de slag

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

Cursus bekijken

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
Code bewerken en uitvoeren