Цикл тренування RNN
Час тренувати модель прогнозування споживання електроенергії!
Ви використаєте мережу LSTM, яку визначили раніше. Її екземпляр уже створено та збережено в net, так само як і dataloader_train, який ви побудували до цього. Також вам знадобиться torch.nn, який уже імпортовано як nn.
У цій вправі ви потренуєте модель лише три епохи, щоб переконатися, що навчання відбувається як очікується. Почнімо!
Ця вправа є частиною курсу
Середній рівень Deep Learning з PyTorch
Інструкції до вправи
- Налаштуйте функцію втрат середньоквадратичної помилки (Mean Squared Error) і збережіть її в
criterion. - Змініть форму
seqsдо(batch size, sequence length, num features), у нашому випадку це(32, 96, 1), і знову присвойте результатseqs. - Передайте
seqsу модель, щоб отримати їїoutputs. - На основі раніше обчислених величин розрахуйте втрати та збережіть їх у
loss.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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()}")