모델 평가
훈련 루프를 정리한 뒤 모델을 1000 에포크 동안 학습했고, 그 결과 모델은 net으로 제공됩니다. 또한 이전에 train_dataloader를 설정했던 것과 동일한 방식으로 test_dataloader도 구성했으며, 차이점은 학습 디렉터리가 아니라 테스트 디렉터리에서 데이터를 읽는다는 점뿐입니다.
이제 테스트 데이터로 모델을 평가할 수 있어요. 이를 위해서는 평가 루프를 작성하여 테스트 데이터의 배치들을 순회하고, 각 배치에 대한 모델 예측을 얻은 뒤, 정확도를 계산해야 합니다. 함께 해봅시다!
이 연습은 강의의 일부입니다
PyTorch로 배우는 Intermediate Deep Learning
연습 안내
- 이진 분류를 위한 평가 지표로
Accuracy를 설정하고acc에 할당하세요. - 테스트 데이터의 각 배치에 대해 모델의 출력을 구해
outputs에 할당하세요. - 루프가 끝난 뒤 전체 테스트 정확도를 계산해
test_accuracy에 할당하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
import torch
from torchmetrics import Accuracy
# Set up binary accuracy metric
acc = ____
net.eval()
with torch.no_grad():
for features, labels in dataloader_test:
# Get predicted probabilities for test data batch
outputs = ____
preds = (outputs >= 0.5).float()
acc(preds, labels.view(-1, 1))
# Compute total test accuracy
test_accuracy = ____
print(f"Test accuracy: {test_accuracy}")