开始使用免费开始使用

GRU 网络

除了 LSTM,另一种常见的循环神经网络变体是门控循环单元(Gated Recurrent Unit,GRU)。它的优势在于结构更简单:GRU 单元的计算量少于 LSTM 单元,但在很多情况下性能相当。

提供给您的代码是之前编写的 RNN 模型定义。您的任务是将其改写为 GRU 网络。torchtorch.nn as nn 已为您导入。

本练习是课程的一部分

PyTorch 深度学习进阶

查看课程

练习说明

  • 更新 RNN 模型定义,使其成为一个 GRU 网络;将 GRU 层赋给 self.gru

交互式实操练习

通过完成这段示例代码来试试这个练习。

class Net(nn.Module):
    def __init__(self):
        super().__init__()
        # Define RNN layer
        self.rnn = nn.RNN(
            input_size=1,
            hidden_size=32,
            num_layers=2,
            batch_first=True,
        )
        self.fc = nn.Linear(32, 1)

    def forward(self, x):
        h0 = torch.zeros(2, x.size(0), 32)
        out, _ = self.rnn(x, h0)  
        out = self.fc(out[:, -1, :])
        return out
编辑并运行代码