開始使用免費開始

GRU 網路

除了 LSTM 之外,另一個常見的循環神經網路變體是 Gated Recurrent Unit(GRU)。它的優點在於設計更簡潔:GRU 單元的計算量比 LSTM 單元更少,效能卻常常能相當。

你拿到的程式碼是先前你撰寫的 RNN 模型定義。你的任務是將它改寫為 GRU 網路。torchtorch.nn as nn 已經為你匯入。

本練習屬於課程

Intermediate Deep Learning with 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
編輯並執行程式碼