Aan de slagGa gratis aan de slag

Modelevaluatie

Nu de trainingslus op orde is, heb je het model 1000 epochs getraind en het is beschikbaar als net. Je hebt ook een test_dataloader opgezet op precies dezelfde manier als eerder met train_dataloader—alleen lees je nu de data uit de test- in plaats van de train-map.

Je kunt het model nu evalueren op testdata. Daarvoor schrijf je een evaluatielus die over de batches testdata itereert, de voorspellingen van het model voor elke batch ophaalt en de nauwkeurigheid ervoor berekent. Aan de slag!

Deze oefening maakt deel uit van de cursus

Gevorderde Deep Learning met PyTorch

Cursus bekijken

Oefeninstructies

  • Stel de evaluatiemetric in als Accuracy voor binaire classificatie en ken deze toe aan acc.
  • Haal voor elke batch testdata de outputs van het model op en ken die toe aan outputs.
  • Bereken na de lus de totale testnauwkeurigheid en ken die toe aan test_accuracy.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

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}")
Code bewerken en uitvoeren