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. torch và torch.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
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