Rețea GRU
Pe lângă LSTM-uri, o altă variantă populară de rețea neuronală recurentă este Gated Recurrent Unit, sau GRU. Atractivitatea sa constă în simplitate: celulele GRU necesită mai puțin calcul decât celulele LSTM, obținând adesea performanțe similare.
Codul furnizat reprezintă definiția modelului RNN pe care l-ai implementat anterior. Sarcina ta este să îl adaptezi astfel încât să producă o rețea GRU în loc. torch și torch.nn as nn au fost deja importate pentru tine.
Acest exercițiu face parte din cursul
Deep Learning intermediar cu PyTorch
Instrucțiuni pentru exercițiu
- Actualizează definiția modelului RNN pentru a obține o rețea GRU; atribuie stratul GRU variabilei
self.gru.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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