Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Bewertung des Modells | Neuronale Netzwerke in PyTorch
Pytorch Grundlagen
course content

Kursinhalt

Pytorch Grundlagen

Pytorch Grundlagen

1. Einführung in PyTorch
2. Fortgeschrittenere Konzepte
3. Neuronale Netzwerke in PyTorch

book
Bewertung des Modells

Vorbereitung auf die Bewertung

Bevor Sie mit dem Bewertungsprozess auf dem Testset beginnen, müssen Sie Folgendes sicherstellen:

  1. Setzen Sie das Modell in den Evaluierungsmodus: Verwenden Sie model.eval(), um Funktionen wie Dropout und Batch-Normalisierung zu deaktivieren und ein konsistentes Verhalten während der Bewertung sicherzustellen;

  2. Deaktivieren Sie das Gradienten-Tracking: Verwenden Sie torch.no_grad(), um Speicher zu sparen und Berechnungen zu beschleunigen, da während der Bewertung keine Gradienten erforderlich sind.

Umwandlung von Vorhersagen

Wie bereits zuvor erwähnt, wird die Ausgabe des Modells Logits (Rohwerte) sein. Um die vorhergesagten Klassenlabels zu erhalten, verwenden wir torch.argmax, um den Index des maximalen Wertes entlang der Klassendimension zu extrahieren.

Berechnung von Metriken

Für Klassifikationsprobleme ist Genauigkeit ein nützlicher Ausgangsmetriker, vorausgesetzt, der Datensatz ist ausgewogen.

Um tiefere Einblicke in die Modellleistung zu gewinnen, können Sie zusätzliche Metriken wie Präzision, Recall und F1-Score berechnen. Sie können mehr über diese Metriken und ihre Formeln in diesem Artikel erfahren, indem Sie ihre jeweiligen Formeln verwenden.

Vollständige Implementierung

123456789101112131415161718
import torch import os os.system('wget https://staging-content-media-cdn.codefinity.com/courses/1dd2b0f6-6ec0-40e6-a570-ed0ac2209666/section_3/model_training.py 2>/dev/null') from model_training import model, X_test, y_test # Set model to evaluation mode model.eval() # Disable gradient tracking with torch.no_grad(): # Forward pass test_predictions = model(X_test) # Get predicted classes predicted_labels = torch.argmax(test_predictions, dim=1) # Calculate accuracy correct_predictions = (predicted_labels == y_test).sum().item() accuracy = correct_predictions / len(y_test) * 100 print(f"Test accuracy: {accuracy:.2f}%")
copy
Welcher der folgenden Schritte ist notwendig, um ein trainiertes PyTorch-Modell zu evaluieren?

Welcher der folgenden Schritte ist notwendig, um ein trainiertes PyTorch-Modell zu evaluieren?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 3. Kapitel 3
We're sorry to hear that something went wrong. What happened?
some-alt