Évaluation du modèle
Maintenant que la boucle d'entraînement est en place, vous avez entraîné le modèle pendant 1000 époques, et il est disponible sous le nom net. Vous avez aussi configuré un test_dataloader exactement comme vous l'aviez fait pour train_dataloader auparavant — sauf qu'il lit les données à partir du répertoire de test plutôt que du répertoire d'entraînement.
Vous pouvez maintenant évaluer le modèle sur les données de test. Pour ce faire, vous devez écrire la boucle d'évaluation pour parcourir les lots de données de test, obtenir les prédictions du modèle pour chaque lot et calculer le score d'exactitude correspondant. Allons-y!
Cette activité fait partie du cours
Apprentissage profond intermédiaire avec PyTorch
Instructions de l’exercice
- Configurez la mesure d'évaluation
Accuracypour une classification binaire et assignez-la àacc. - Pour chaque lot de données de test, récupérez les sorties du modèle et assignez-les à
outputs. - Après la boucle, calculez l'exactitude totale sur l'ensemble de test et assignez-la à
test_accuracy.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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}")