LoslegenKostenlos loslegen

Erstelle ein CNN-Modell für Text

PyBooks hat erfolgreich eine Buchempfehlungs-Engine entwickelt. Als Nächstes soll ein Sentiment-Analyse-Modell implementiert werden, um Nutzerbewertungen zu verstehen und Einblicke in Buchvorlieben zu gewinnen.

Du verwendest ein Convolutional Neural Network (CNN), um Textdaten (Buchrezensionen) anhand ihres Sentiments zu klassifizieren.

torch, torch.nn als nn und torch.nn.functional als F wurden bereits für dich geladen.

Diese Übung ist Teil des Kurses

Deep Learning für Text mit PyTorch

Kurs anzeigen

Anleitung zur Übung

  • Initialisiere die Embedding-Schicht in der Methode __init__().
  • Wende die Convolution-Schicht self.conv auf den embedded Text in der Methode forward() an.
  • Wende in der Methode forward() die ReLU-Aktivierung auf diese Schicht an.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

class TextClassificationCNN(nn.Module):
    def __init__(self, vocab_size, embed_dim):
        super(TextClassificationCNN, self).__init__()
        # Initialize the embedding layer 
        self.embedding = ____.____(vocab_size, embed_dim)
        self.conv = nn.Conv1d(embed_dim, embed_dim, kernel_size=3, stride=1, padding=1)
        self.fc = nn.Linear(embed_dim, 2)
    def forward(self, text):
        embedded = self.embedding(text).permute(0, 2, 1)
        # Pass the embedded text through the convolutional layer and apply a ReLU
        conved = ____.____(self.conv(____))
        conved = conved.mean(dim=2) 
        return self.fc(conved)
Code bearbeiten und ausführen