IniziaInizia gratis

Creare un modello RNN per la generazione di testo

A PyBooks ti è stato affidato il compito di sviluppare un algoritmo in grado di generare testo. Il progetto riguarda l’auto-completamento dei titoli dei libri. Per avviare il progetto, decidi di sperimentare con una Recurrent Neural Network (RNN). In questo modo puoi comprenderne le sfumature prima di passare a modelli più complessi.

Sono già stati importati per te: torch, torch.nn come nn.

La variabile data è stata inizializzata con un estratto da Alice's Adventures in Wonderland di Lewis Carroll.

Questo esercizio fa parte del corso

Deep Learning per il testo con PyTorch

Visualizza il corso

Istruzioni dell'esercizio

  • Includi un layer RNN e un layer lineare nella classe RNNmodel.
  • Istanzia il modello RNN con input size pari alla lunghezza di chars, hidden size di 16 e output size pari alla lunghezza di chars.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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(____, ____, ____)
Modifica ed esegui il codice