Crearea unui model RNN pentru generarea de text
La PyBooks, ai primit sarcina de a dezvolta un algoritm capabil să realizeze generare de text. Proiectul implică auto-completarea numelor de cărți. Pentru a-l demara, decizi să experimentezi cu o Rețea Neuronală Recurentă (RNN). Astfel, poți înțelege particularitățile rețelelor RNN înainte de a trece la modele mai complexe.
Au fost importate pentru tine: torch, torch.nn ca nn.
Variabila data a fost inițializată cu un fragment din Aventurile Alisei în Țara Minunilor de Lewis Carroll.
Acest exercițiu face parte din cursul
Deep Learning pentru text cu PyTorch
Instrucțiuni pentru exercițiu
- Adaugă un strat RNN și un strat liniar în clasa
RNNmodel. - Instanțiază modelul RNN cu dimensiunea de intrare egală cu lungimea lui
chars, dimensiunea ascunsă de 16 și dimensiunea de ieșire egală cu lungimea luichars.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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(____, ____, ____)