Ewaluacja modelu
Pętla treningowa jest już gotowa – model był trenowany przez 1000 epok i jest dostępny jako net. Skonfigurowano też test_dataloader w dokładnie taki sam sposób jak wcześniej train_dataloader – z tą różnicą, że dane są wczytywane z katalogu testowego, a nie treningowego.
Możesz teraz ocenić model na danych testowych. W tym celu napisz pętlę ewaluacyjną, która przejdzie przez kolejne partie danych testowych, pobierze predykcje modelu dla każdej z nich i obliczy wynik dokładności. Do dzieła!
To ćwiczenie jest częścią kursu
Głębokie uczenie z PyTorch – poziom średnio zaawansowany
Instrukcje do ćwiczenia
- Skonfiguruj metrykę ewaluacyjną jako
Accuracydla klasyfikacji binarnej i przypisz ją doacc. - Dla każdej partii danych testowych pobierz wyniki modelu i przypisz je do
outputs. - Po zakończeniu pętli oblicz łączną dokładność na zbiorze testowym i przypisz ją do
test_accuracy.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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}")