Vòng lặp huấn luyện RNN
Đến lúc huấn luyện mô hình dự báo điện năng tiêu thụ rồi!
Bạn sẽ dùng mạng LSTM đã định nghĩa trước đó, hiện đã được khởi tạo và gán vào net, cùng với dataloader_train bạn đã xây dựng. Bạn cũng sẽ cần dùng torch.nn (đã được import sẵn là nn).
Trong bài này, bạn sẽ huấn luyện mô hình chỉ trong ba epoch để đảm bảo quá trình huấn luyện diễn ra như kỳ vọng. Bắt đầu thôi!
Bài tập này là một phần của khóa học
Deep Learning nâng cao với PyTorch
Hướng dẫn bài tập
- Thiết lập hàm mất mát Mean Squared Error và gán vào
criterion. - Đổi hình dạng
seqsthành(batch size, sequence length, num features), trong trường hợp này là(32, 96, 1), và gán lại kết quả choseqs. - Truyền
seqsvào mô hình để lấyoutputs. - Dựa trên các giá trị đã tính trước đó, tính toán loss và gán vào
loss.
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.
net = Net()
# Set up MSE loss
criterion = ____
optimizer = optim.Adam(
net.parameters(), lr=0.0001
)
for epoch in range(3):
for seqs, labels in dataloader_train:
# Reshape model inputs
seqs = ____
# Get model outputs
outputs = ____
# Compute loss
loss = ____
optimizer.zero_grad()
loss.backward()
optimizer.step()
print(f"Epoch {epoch+1}, Loss: {loss.item()}")