ПочатиПочніть безкоштовно

Побудуйте модель CNN для тексту

PyBooks успішно створила рушій рекомендацій книжок. Їхнє наступне завдання — реалізувати модель аналізу тональності, щоб зрозуміти відгуки користувачів і краще збагнути уподобання щодо книжок.

Ви використаєте модель згорткової нейронної мережі (CNN), щоб класифікувати текстові дані (книжкові відгуки) за тональністю.

torch, torch.nn як nn та torch.nn.functional як F уже завантажено для вас.

Ця вправа є частиною курсу

Глибоке навчання для тексту з PyTorch

Переглянути курс

Інструкції до вправи

  • Ініціалізуйте шар вкладень (embedding) у методі __init__().
  • Застосуйте згортковий шар self.conv до вбудованого представлення embedded у межах методу forward().
  • Застосуйте активацію ReLU до цього шару в методі forward().

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

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)
Редагувати та запускати код