LoslegenKostenlos loslegen

GRU-Netz

Neben LSTMs ist eine weitere beliebte Variante rekurrenter neuronaler Netze die Gated Recurrent Unit oder GRU. Seine Attraktivität liegt in der Einfachheit: GRU-Zellen erfordern weniger Berechnungen als LSTM-Zellen und erreichen dabei oft die gleiche Leistung.

Der Code, den du erhältst, ist die RNN-Modelldefinition, die du zuvor programmiert hast. Deine Aufgabe ist es, sie so anzupassen, dass sie stattdessen ein GRU-Netz erzeugt. torch und torch.nn as nn wurden bereits für dich importiert.

Diese Übung ist Teil des Kurses

Deep Learning mit PyTorch für Fortgeschrittene

Kurs anzeigen

Anleitung zur Übung

  • Aktualisiere die RNN-Modelldefinition, um ein GRU-Netz zu erhalten; weise die GRU-Schicht self.gru zu.

Interaktive Übung

Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.

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 bearbeiten und ausführen