더북(TheBook)

① 모델의 정확도를 구합니다.

max(1)[1]: .max(dim=0)[0]은 최댓값(max)을 나타내고 .max(dim=0)[1]은 최댓값을 갖는 데이터의 인덱스를 나타냅니다.

view(y.size()): logit.max(1)[1]의 결과를 y.size()로 크기를 변경합니다.

data == y.data: 모델의 예측 결과(logit.max(1)[1].view(y.size()).data)가 레이블(실제 값, y.data)과 같은지 확인합니다.

sum(): 모델의 예측 결과와 레이블(실제 값)이 같으면 그 합을 corrects 변수에 누적하여 저장합니다.

이제 훈련 데이터셋을 이용하여 모델을 학습시키고 검증 데이터셋을 이용하여 성능(정확도)을 확인합니다.

코드 7-27 모델 학습 및 평가

BATCH_SIZE = 100
LR = 0.001
EPOCHS = 5
for e in range(1, EPOCHS + 1):
    train(model, optimizer, train_iterator)
    val_loss, val_accuracy = evaluate(model, valid_iterator)
    print("[EPOCH: %d], Validation Loss: %5.2f | Validation Accuracy: %5.2f" % (e, val_loss, val_accuracy))
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.