Rede GRU
Além das LSTMs, outra variante popular de rede neural recorrente é a de unidade recorrente fechada, ou GRU. Seu apelo está em sua simplicidade: as células GRU exigem menos computação do que as células LSTM e, ao mesmo tempo, muitas vezes se equiparam a elas em termos de desempenho.
O código fornecido a você é a definição do modelo RNN que você codificou anteriormente. Sua tarefa é adaptá-lo de forma que ele produza uma rede GRU. torch
e torch.nn as nn
já foram importados para você.
Este exercício faz parte do curso
Aprendizagem profunda intermediária com PyTorch
Instruções do exercício
- Atualize a definição do modelo RNN para obter uma rede GRU; atribua a camada GRU a
self.gru
.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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