Bucle de entrenamiento de RNN
¡Es hora de entrenar el modelo de previsión del consumo eléctrico!
Utilizarás la red LSTM que has definido anteriormente, que se ha instanciado y asignado a net
, al igual que la dataloader_train
que construiste antes. También tendrás que utilizar torch.nn
que ya se ha importado como nn
.
En este ejercicio, entrenarás el modelo solo durante tres épocas para asegurarte de que el entrenamiento progresa como se espera. ¡Manos a la obra!
Este ejercicio forma parte del curso
Aprendizaje profundo intermedio con PyTorch
Instrucciones del ejercicio
- Configura la pérdida del error promedio al cuadrado y asígnala a
criterion
. - Reasigna
seqs
a(batch size, sequence length, num features)
, que en nuestro caso es(32, 96, 1)
, y reasigna el resultado aseqs
. - Pasa
seqs
al modelo para obtener suoutputs
. - A partir de las cantidades calculadas anteriormente, calcula la pérdida y asígnala a
loss
.
Ejercicio interactivo práctico
Prueba este ejercicio completando el código de muestra.
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()}")