НачатьНачать бесплатно

Цикл обучения 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()}")
Редактировать и запускать код