RNN-Trainingsschleife
Es ist Zeit, das Stromverbrauchsvorhersagemodell zu trainieren!
Du wirst das LSTM-Netz verwenden, das du zuvor definiert hast. Es wurde initialisiert und net
zugewiesen, genau wie dataloader_train
, das du zuvor erstellt hast. Du wirst außerdem torch.nn
benötigen, das bereits als nn
importiert wurde.
In dieser Aufgabe wirst du das Modell nur für drei Epochen trainieren, um sicherzustellen, dass das Training wie erwartet verläuft. Los geht’s!
Diese Übung ist Teil des Kurses
Deep Learning mit PyTorch für Fortgeschrittene
Anleitung zur Übung
- Richte den Mean-Squared-Error-Verlust ein und weise ihn
criterion
zu. - Forme
seqs
zu(batch size, sequence length, num features)
um, was in unserem Fall(32, 96, 1)
ist, und weise das Ergebnisseqs
zu. - Übergib
seqs
an das Modell, um seineoutputs
zu erhalten. - Berechne den Verlust basierend auf den zuvor berechneten Werten und weise ihn
loss
zu.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
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()}")