Zacznij terazZacznij za darmo

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

Zobacz kurs

Instrukcje do ćwiczenia

  • Skonfiguruj funkcję straty Mean Squared Error i przypisz ją do zmiennej criterion.
  • Przekształć seqs do kształtu (batch size, sequence length, num features), czyli w naszym przypadku (32, 96, 1), i przypisz wynik z powrotem do seqs.
  • Przekaż seqs do modelu, aby uzyskać jego outputs.
  • 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()}")
Edytuj i uruchom kod