Modellevaluierung
Nachdem die Trainingsschleife fertig ist, hast du das Modell für 1000 Epochen trainiert, und es steht dir als net
zur Verfügung. Du hast auch einen test_dataloader
auf genau die gleiche Weise eingerichtet wie zuvor bei train_dataloader
– nur dass die Daten diesmal aus dem Test- statt dem Trainingsverzeichnis gelesen werden.
Du kannst jetzt das Modell mit den Testdaten evaluieren. Dafür musst du eine Evaluierungsschleife schreiben, die über die Batches der Testdaten iteriert, die Vorhersagen des Modells für jeden Batch erhält und den Genauigkeitswert dafür berechnet. Los geht’s!
Diese Übung ist Teil des Kurses
Deep Learning mit PyTorch für Fortgeschrittene
Anleitung zur Übung
- Richte die Evaluierungsmetrik als
Accuracy
für binäre Klassifikation ein und weise sieacc
zu. - Hole für jeden Batch von Testdaten die Ausgaben des Modells und weise sie
outputs
zu. - Berechne nach der Schleife die gesamte Testgenauigkeit und weise sie
test_accuracy
zu.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
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}")