LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Füge in der Klasse RNNmodel eine 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 von chars.

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(____, ____, ____)
Code bearbeiten und ausführen