开始使用免费开始使用

构建用于文本生成的 RNN 模型

在 PyBooks,您被指派开发一个能够进行文本生成的算法。该项目的目标是实现书名的自动补全。为启动项目,您决定先用循环神经网络(RNN)做实验。这样,您可以先理解 RNN 的细节,再转向更复杂的模型。

以下内容已为您导入:torch,以及将 torch.nn 导入为 nn

变量 data 已用 Lewis Carroll 的《爱丽丝梦游仙境》节选完成初始化。

本练习是课程的一部分

使用 PyTorch 的文本深度学习

查看课程

练习说明

  • RNNmodel 类中加入一个 RNN 层和一个线性层。
  • 实例化该 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(____, ____, ____)
编辑并运行代码