Kom igångKom igång gratis

GRU-nätverk

Vid sidan av LSTM-nätverk finns en annan populär variant av rekurrenta neurala nätverk: Gated Recurrent Unit, eller GRU. Dess styrka ligger i enkelheten – GRU-celler kräver mindre beräkning än LSTM-celler och matchar ändå ofta deras prestanda.

Koden du har tillgång till är den RNN-modelldefinition som du kodade tidigare. Din uppgift är att anpassa den så att den producerar ett GRU-nätverk istället. torch och torch.nn as nn har redan importerats åt dig.

Den här övningen är en del av kursen

Fördjupad djupinlärning med PyTorch

Visa kurs

Övningsinstruktioner

  • Uppdatera RNN-modelldefinitionen för att få ett GRU-nätverk; tilldela GRU-lagret till self.gru.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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
Redigera och kör kod