Bucla de antrenament pentru RNN
E momentul să antrenezi modelul de prognoză a consumului de electricitate!
Vei folosi rețeaua LSTM definită anterior, care a fost instanțiată și atribuită variabilei net, la fel ca și dataloader_train construit înainte. Va trebui să utilizezi și torch.nn, deja importat sub numele nn.
În acest exercițiu, vei antrena modelul timp de doar trei epoci, pentru a verifica dacă procesul de antrenament decurge corect. Să începem!
Acest exercițiu face parte din cursul
Deep Learning intermediar cu PyTorch
Instrucțiuni pentru exercițiu
- Configurează funcția de pierdere Mean Squared Error și atribuie-o variabilei
criterion. - Remodelează
seqsla forma(batch size, sequence length, num features), adică(32, 96, 1), și reatribuie rezultatul variabileiseqs. - Pasează
seqsmodelului pentru a obțineoutputs. - Pe baza valorilor calculate anterior, calculează pierderea și atribuie-o variabilei
loss.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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()}")