ฝึกโมเดล 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!')