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

Mạng GRU

Bên cạnh LSTM, một biến thể mạng nơ-ron hồi tiếp phổ biến khác là Gated Recurrent Unit (GRU). Điểm hấp dẫn của nó nằm ở sự đơn giản: các cell GRU cần ít tính toán hơn cell LSTM nhưng thường cho hiệu năng tương đương.

Đoạn mã bạn nhận được là phần định nghĩa mô hình RNN mà bạn đã viết trước đó. Nhiệm vụ của bạn là chỉnh sửa để mô hình này trở thành mạng GRU. torchtorch.nn as nn đã được nhập sẵn cho bạn.

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

Deep Learning nâng cao với PyTorch

Xem khóa học

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

  • Cập nhật định nghĩa mô hình RNN để thu được mạng GRU; gán tầng GRU cho self.gru.

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.

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