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

การสร้างโมเดล RNN สำหรับการสร้างข้อความ

ที่ PyBooks คุณได้รับมอบหมายให้พัฒนาอัลกอริทึมสำหรับการสร้างข้อความ โดยโปรเจกต์นี้เน้นการเติมชื่อหนังสือให้สมบูรณ์อัตโนมัติ คุณจึงตัดสินใจทดลองใช้ Recurrent Neural Network (RNN) เพื่อทำความเข้าใจรายละเอียดของ RNN ก่อนจะก้าวไปสู่โมเดลที่ซับซ้อนยิ่งขึ้น

มีการ import ให้แล้ว ได้แก่: torch และ torch.nn ในชื่อ nn

ตัวแปร data ถูกกำหนดค่าเริ่มต้นด้วยข้อความตัดตอนจาก Alice's Adventures in Wonderland ของ Lewis Carroll

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

Deep Learning สำหรับข้อความด้วย PyTorch

ดูคอร์ส

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

  • เพิ่มเลเยอร์ RNN และเลเยอร์เชิงเส้น (linear layer) ในคลาส RNNmodel
  • สร้าง instance ของโมเดล RNN โดยกำหนด input size เป็นความยาวของ chars, hidden size เป็น 16 และ output size เป็นความยาวของ chars

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

# Include an RNN layer and linear layer in RNNmodel class
class RNNmodel(nn.Module):
    def __init__(self, input_size, hidden_size, output_size):
        super(RNNmodel, self).__init__()
        self.hidden_size = hidden_size
        self.rnn = nn.____(input_size, hidden_size, batch_first=True)
        self.fc = nn.____(hidden_size, output_size)

    def forward(self, x):
      h0 = torch.zeros(1, x.size(0), self.hidden_size)
      out, _ = self.rnn(x, h0)  
      out = self.fc(out[:, -1, :])  
      return out

# Instantiate the RNN model
model = RNNmodel(____, ____, ____)
แก้ไขและรันโค้ด