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
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 dichars.
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(____, ____, ____)