Valutazione del modello
Ora che il training loop è a posto, hai addestrato il modello per 1000 epoche ed è disponibile come net. Hai anche configurato un test_dataloader esattamente come hai fatto prima con train_dataloader, leggendo però i dati dalla directory di test invece che da quella di train.
Adesso puoi valutare il modello sui dati di test. Per farlo, dovrai scrivere il loop di valutazione per iterare sui batch dei dati di test, ottenere le predizioni del modello per ogni batch e calcolare l'accuracy corrispondente. Mettiamoci al lavoro!
Questo esercizio fa parte del corso
Deep Learning intermedio con PyTorch
Istruzioni dell'esercizio
- Imposta la metrica di valutazione come
Accuracyper la classificazione binaria e assegnala aacc. - Per ogni batch di dati di test, ottieni gli output del modello e assegnali a
outputs. - Dopo il loop, calcola l'accuracy totale sul test e assegnala a
test_accuracy.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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}")