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
Anleitung zur Übung
- Initialisiere die Embedding-Schicht in der Methode
__init__(). - Wende die Convolution-Schicht
self.convauf denembeddedText in der Methodeforward()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)