EmpezarEmpieza gratis

Creación de un modelo RNN para generación de texto

En PyBooks, te han encargado desarrollar un algoritmo capaz de generar texto. El proyecto consiste en el autocompletado de nombres de libros. Para ponerlo en marcha, decides experimentar con una Red Neuronal Recurrente (RNN). Así podrás comprender los matices de las RNN antes de pasar a modelos más complejos.

Ya se han importado por ti: torch, torch.nn como nn.

La variable data se ha inicializado con un fragmento de "Alice's Adventures in Wonderland" de Lewis Carroll.

Este ejercicio forma parte del curso

Deep Learning para texto con PyTorch

Ver curso

Instrucciones del ejercicio

  • Incluye una capa RNN y una capa lineal en la clase RNNmodel.
  • Instancia el modelo RNN con tamaño de entrada igual a la longitud de chars, tamaño oculto de 16 y tamaño de salida igual a la longitud de chars.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

# 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 y ejecutar código