Ein RNN-Modell für die Textgenerierung erstellen
Bei PyBooks hast du den Auftrag bekommen, einen Algorithmus für die Textgenerierung zu entwickeln. Das Projekt umfasst die automatische Vervollständigung von Buchtiteln. Um den Einstieg zu erleichtern, experimentierst du zunächst mit einem Recurrent Neural Network (RNN). So verstehst du die Feinheiten von RNNs, bevor du zu komplexeren Modellen übergehst.
Folgendes wurde bereits importiert: torch, torch.nn als nn.
Die Variable data wurde mit einem Auszug aus Alice’s Adventures in Wonderland von Lewis Carroll initialisiert.
Diese Übung ist Teil des Kurses
Deep Learning für Text mit PyTorch
Anleitung zur Übung
- Füge in der Klasse
RNNmodeleine RNN-Schicht und eine lineare Schicht ein. - Instanziiere das RNN-Modell mit der Eingabegröße als Länge von
chars, einer versteckten Größe (hidden size) von 16 und der Ausgabegröße als Länge vonchars.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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(____, ____, ____)