Creación de un modelo RNN para generación de texto
En PyBooks, te han encargado desarrollar un algoritmo capaz de generar texto. El proyecto consiste en el autocompletado de nombres de libros. Para ponerlo en marcha, decides experimentar con una Red Neuronal Recurrente (RNN). Así podrás comprender los matices de las RNN antes de pasar a modelos más complejos.
Ya se han importado por ti: torch, torch.nn como nn.
La variable data se ha inicializado con un fragmento de "Alice's Adventures in Wonderland" de Lewis Carroll.
Este ejercicio forma parte del curso
Deep Learning para texto con PyTorch
Instrucciones del ejercicio
- Incluye una capa RNN y una capa lineal en la clase
RNNmodel. - Instancia el modelo RNN con tamaño de entrada igual a la longitud de
chars, tamaño oculto de 16 y tamaño de salida igual a la longitud dechars.
ejercicio interactivo práctico
Prueba este ejercicio completando este código de ejemplo.
# 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(____, ____, ____)