ลูปการฝึก RNN
ถึงเวลาฝึกโมเดลพยากรณ์การใช้ไฟฟ้าแล้ว!
จะใช้โครงข่าย LSTM ที่กำหนดไว้ก่อนหน้านี้ ซึ่งถูก instantiate และกำหนดให้กับตัวแปร net รวมถึง dataloader_train ที่สร้างไว้แล้ว นอกจากนี้ยังต้องใช้ torch.nn ซึ่ง import มาแล้วในชื่อ nn
ในแบบฝึกหัดนี้ จะฝึกโมเดลเพียง 3 epoch เพื่อตรวจสอบว่ากระบวนการฝึกดำเนินไปอย่างถูกต้อง มาเริ่มกันเลย!
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Deep Learning ระดับกลางด้วย PyTorch
คำแนะนำการฝึกหัด
- กำหนด loss function แบบ Mean Squared Error และกำหนดให้กับตัวแปร
criterion - ปรับรูปร่าง
seqsให้เป็น(batch size, sequence length, num features)ซึ่งในกรณีนี้คือ(32, 96, 1)แล้วกำหนดผลลัพธ์กลับไปที่seqs - ส่ง
seqsเข้าโมเดลเพื่อรับoutputs - คำนวณค่า loss จากค่าที่คำนวณไว้ก่อนหน้า และกำหนดให้กับตัวแปร
loss
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
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()}")