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

ฝึกโมเดล CNN สำหรับข้อความ

ยอดเยี่ยมมากที่กำหนดคลาส TextClassificationCNN ได้สำเร็จ ขั้นตอนต่อไป PyBooks ต้องการฝึกโมเดลเพื่อปรับให้เหมาะสมสำหรับการวิเคราะห์ความรู้สึกของรีวิวหนังสืออย่างแม่นยำ

แพ็กเกจต่อไปนี้ถูกนำเข้ามาให้แล้ว: torch, torch.nn as nn, torch.nn.functional as F, torch.optim as optim

อินสแตนซ์ของ TextClassificationCNN() ที่มีอาร์กิวเมนต์ vocab_size และ embed_dim ถูกสร้างขึ้นและบันทึกเป็น model แล้ว

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

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

ดูคอร์ส

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

  • กำหนดฟังก์ชัน loss สำหรับการจำแนกประเภทแบบไบนารี และบันทึกเป็น criterion
  • รีเซ็ตค่า gradient ให้เป็นศูนย์ที่จุดเริ่มต้นของลูปการฝึก
  • อัปเดตพารามิเตอร์ที่ปลายลูป

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

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

# Define the loss function
criterion = nn.____()
optimizer = optim.SGD(model.parameters(), lr=0.1)

for epoch in range(10):
    for sentence, label in data:     
        # Clear the gradients
        model.____()
        sentence = torch.LongTensor([word_to_ix.get(w, 0) for w in sentence]).unsqueeze(0) 
        label = torch.LongTensor([int(label)])
        outputs = model(sentence)
        loss = criterion(outputs, label)
        loss.backward()
        # Update the parameters
        ____.____()
print('Training complete!')
แก้ไขและรันโค้ด