Bắt đầu ngayBắt đầu miễn phí

Tạo mô hình RNN cho sinh văn bản

Tại PyBooks, bạn được giao phát triển một thuật toán có thể sinh văn bản. Dự án nhằm tự động hoàn thành tên sách. Để khởi động, bạn quyết định thử nghiệm với Recurrent Neural Network (RNN). Cách này giúp bạn nắm các sắc thái của RNN trước khi chuyển sang các mô hình phức tạp hơn.

Những thư viện sau đã được import sẵn cho bạn: torch, torch.nn dưới tên nn.

Biến data đã được khởi tạo với một đoạn trích từ tác phẩm Alice's Adventures in Wonderland của Lewis Carroll.

Bài tập này là một phần của khóa học

Deep Learning cho Văn bản với PyTorch

Xem khóa học

Hướng dẫn bài tập

  • Thêm một tầng RNN và một tầng tuyến tính vào lớp RNNmodel.
  • Khởi tạo mô hình RNN với kích thước đầu vào bằng độ dài của chars, kích thước ẩn là 16, và kích thước đầu ra bằng độ dài của chars.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

# 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(____, ____, ____)
Chỉnh sửa và Chạy Mã