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
Ö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