ComeçarComece de graça

Criando um modelo RNN para geração de texto

Na PyBooks, você recebeu a tarefa de desenvolver um algoritmo que faça geração de texto. O projeto envolve a autocompletar nomes de livros. Para dar o pontapé inicial, você decide experimentar uma Recurrent Neural Network (RNN). Assim, você entende as nuances das RNNs antes de partir para modelos mais complexos.

Já foram importados para você: torch, torch.nn como nn.

A variável data foi inicializada com um trecho de Alice's Adventures in Wonderland, de Lewis Carroll.

Este exercício faz parte do curso

Deep Learning para Texto com PyTorch

Ver curso

Instruções do exercício

  • Inclua uma camada RNN e uma camada linear na classe RNNmodel.
  • Instancie o modelo RNN com tamanho de entrada igual ao comprimento de chars, tamanho do estado oculto de 16 e tamanho de saída igual ao comprimento de chars.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# Include an RNN layer and linear layer in RNNmodel class
class RNNmodel(nn.Module):
    def __init__(self, input_size, hidden_size, output_size):
        super(RNNmodel, self).__init__()
        self.hidden_size = hidden_size
        self.rnn = nn.____(input_size, hidden_size, batch_first=True)
        self.fc = nn.____(hidden_size, output_size)

    def forward(self, x):
      h0 = torch.zeros(1, x.size(0), self.hidden_size)
      out, _ = self.rnn(x, h0)  
      out = self.fc(out[:, -1, :])  
      return out

# Instantiate the RNN model
model = RNNmodel(____, ____, ____)
Editar e executar o código