CommencerCommencer gratuitement

Création d’un modèle RNN pour la génération de texte

Chez PyBooks, vous avez été chargé de développer un algorithme capable de générer du texte. Le projet porte sur l’auto-complétion de titres de livres. Pour lancer ce projet, vous décidez d’expérimenter avec un RNN (Recurrent Neural Network). Cela vous permettra de comprendre les subtilités des RNN avant de passer à des modèles plus complexes.

Les éléments suivants ont été importés pour vous : torch, torch.nn sous le nom nn.

La variable data a été initialisée avec un extrait d’Alice au pays des merveilles de Lewis Carroll.

Cet exercice fait partie du cours

Deep Learning pour le texte avec PyTorch

Afficher le cours

Instructions

  • Incluez une couche RNN et une couche linéaire dans la classe RNNmodel.
  • Instanciez le modèle RNN avec une taille d’entrée égale à la longueur de chars, une taille cachée de 16, et une taille de sortie égale à la longueur de chars.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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(____, ____, ____)
Modifier et exécuter le code