É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 également configuré un test_dataloader exactement de la même manière que train_dataloader précédemment — en lisant simplement les données depuis le répertoire de test plutôt que celui d’entraînement.
Vous pouvez désormais évaluer le modèle sur les données de test. Pour cela, vous allez écrire la boucle d’évaluation pour itérer sur les lots de données de test, obtenir les prédictions du modèle pour chaque lot, et calculer l’exactitude correspondante. Allons-y !
Cet exercice fait partie du cours
Deep learning intermédiaire avec PyTorch
Instructions
- Configurez la métrique d’évaluation
Accuracypour une classification binaire et affectez-la àacc. - Pour chaque lot de données de test, récupérez les sorties du modèle et affectez-les à
outputs. - Après la boucle, calculez l’exactitude totale sur le test et affectez-la à
test_accuracy.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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}")