Inizia subitoInizia 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 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 interattivo pratico

Prova questo esercizio completando questo 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