Pętla treningowa RNN
Czas wytrenować model prognozowania zużycia energii elektrycznej!
Skorzystasz z sieci LSTM zdefiniowanej wcześniej, która została zainicjalizowana i przypisana do zmiennej net, podobnie jak zbudowany wcześniej dataloader_train. Będziesz też potrzebować modułu torch.nn, który został już zaimportowany jako nn.
W tym ćwiczeniu wytrenuj model przez tylko trzy epoki, żeby upewnić się, że trening przebiega zgodnie z oczekiwaniami. Do dzieła!
To ćwiczenie jest częścią kursu
Głębokie uczenie z PyTorch – poziom średnio zaawansowany
Instrukcje do ćwiczenia
- Skonfiguruj funkcję straty Mean Squared Error i przypisz ją do zmiennej
criterion. - Przekształć
seqsdo kształtu(batch size, sequence length, num features), czyli w naszym przypadku(32, 96, 1), i przypisz wynik z powrotem doseqs. - Przekaż
seqsdo modelu, aby uzyskać jegooutputs. - Na podstawie wcześniej obliczonych wartości oblicz stratę i przypisz ją do zmiennej
loss.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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()}")