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

Створення моделі RNN для генерування тексту

У PyBooks вам доручили розробити алгоритм, який уміє генерувати текст. Проєкт передбачає авто-доповнення назв книжок. Щоб розпочати, ви вирішили поекспериментувати з рекурентною нейронною мережею (RNN). Так ви зрозумієте тонкощі RNN перед тим, як переходити до складніших моделей.

Для вас уже імпортовано: torch, torch.nn як nn.

Змінну data ініціалізовано уривком із «Alice's Adventures in Wonderland» Льюїса Керрола.

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

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

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

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

  • Додайте шар RNN і лінійний шар у клас RNNmodel.
  • Створіть екземпляр моделі RNN з розміром входу, що дорівнює довжині chars, розміром прихованого стану 16 і розміром виходу, що дорівнює довжині chars.

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

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

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