Цикл обучения RNN
Пришло время обучить модель прогнозирования потребления электроэнергии!
Вы будете использовать сеть LSTM, определённую ранее и сохранённую в переменной net, а также dataloader_train, который вы уже создали. Модуль torch.nn импортирован как nn.
В этом упражнении модель обучается всего три эпохи, чтобы убедиться, что процесс обучения идёт правильно. Приступим!
Это упражнение является частью курса
Глубокое обучение на PyTorch: средний уровень
Инструкции к упражнению
- Задайте функцию потерь «среднеквадратическая ошибка» (MSE) и присвойте её переменной
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()}")