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
<Kurs>Deep Learning für Text mit PyTorch</Kurs>Übungsanweisungen
- 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 praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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)