Bắt đầu ngayBắt đầu miễn phí

Huấn luyện một mô hình CNN cho văn bản

Bạn đã làm tốt khi định nghĩa lớp TextClassificationCNN. PyBooks giờ cần huấn luyện mô hình để tối ưu hóa việc phân tích cảm xúc của các bài đánh giá sách.

Các gói sau đã được nhập sẵn cho bạn: torch, torch.nnnn, torch.nn.functionalF, torch.optimoptim.

Một thể hiện của TextClassificationCNN() với các đối số vocab_sizeembed_dim cũng đã được nạp và lưu dưới tên model.

Bài tập này là một phần của khóa học

Deep Learning cho Văn bản với PyTorch

Xem khóa học

Hướng dẫn bài tập

  • Định nghĩa một hàm mất mát dùng cho phân loại nhị phân và lưu là criterion.
  • Đưa gradient về 0 ở đầu vòng lặp huấn luyện.
  • Cập nhật các tham số ở cuối vòng lặp.

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.

# 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!')
Chỉnh sửa và Chạy Mã