НачатьНачать бесплатно

Создание модели RNN для генерации текста

В компании PyBooks вам поручили разработать алгоритм генерации текста. Проект предполагает автодополнение названий книг. Для начала вы решаете поэкспериментировать с рекуррентной нейронной сетью (RNN) — это поможет разобраться в особенностях RNN, прежде чем переходить к более сложным моделям.

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

Переменная data инициализирована отрывком из книги Льюиса Кэрролла «Приключения Алисы в Стране чудес».

Это упражнение является частью курса

Глубокое обучение для работы с текстом на 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(____, ____, ____)
Редактировать и запускать код