เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

GRU network

นอกจาก LSTM แล้ว อีกหนึ่ง recurrent neural network ที่ได้รับความนิยมคือ Gated Recurrent Unit หรือ GRU จุดเด่นของมันอยู่ที่ความเรียบง่าย: GRU cell ใช้การคำนวณน้อยกว่า LSTM cell แต่มักให้ประสิทธิภาพที่เทียบเท่ากันได้

โค้ดที่ให้มาคือนิยามโมเดล RNN ที่เคยเขียนไว้ก่อนหน้านี้ ให้ปรับโค้ดนี้เพื่อให้ได้ GRU network แทน โดย torch และ torch.nn as nn ได้ถูก import ไว้ให้แล้ว

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Deep Learning ระดับกลางด้วย PyTorch

ดูคอร์ส

คำแนะนำการฝึกหัด

  • อัปเดตนิยามโมเดล RNN เพื่อให้ได้ GRU network โดยกำหนด GRU layer ไว้ที่ 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
แก้ไขและรันโค้ด