ComeçarComece de graça

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

Ver curso

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
Editar e executar o código