시작하기무료로 시작하기

RNN 학습 루프

이제 전력 소비량 예측 모델을 학습해 볼 시간이에요!

앞서 정의한 LSTM 네트워크가 이미 인스턴스화되어 net에 할당되어 있고, 이전에 만든 dataloader_train도 준비되어 있어요. 또한 torch.nnnn으로 임포트되어 있으니 그대로 사용하시면 됩니다.

이 연습에서는 학습이 제대로 진행되는지 확인하기 위해 에포크를 3번만 수행해요. 바로 시작해 볼까요?

이 연습은 강의의 일부입니다

PyTorch로 배우는 Intermediate Deep Learning

강의 보기

연습 안내

  • 평균제곱오차(Mean Squared Error) 손실을 설정하고 criterion에 할당하세요.
  • seqs(배치 크기, 시퀀스 길이, 특성 수) 형태, 즉 (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()}")
코드 편집 및 실행