LoslegenKostenlos loslegen

Bildklassifikation mit ResNet

Du hast das Modell aus dem vortrainierten ResNet18 erstellt. Jetzt ist es Zeit, es an einem Beispielbild zu testen.

Du wendest Vorverarbeitungs-Transforms auf ein Bild an und klassifizierst es. Du musst die softmax()-Schicht verwenden, gefolgt von argmax(), da ResNet18 auf einem Multiklassen-Datensatz trainiert wurde.

Du hast folgendes Bild für die Vorhersage ausgewählt: A cup of espresso

Der Vorverarbeitungs-Transform ist als preprocess gespeichert. Das PIL-Bild ist als img hochgeladen.

Diese Übung ist Teil des Kurses

Deep Learning für Bilder mit PyTorch

Kurs anzeigen

Anleitung zur Übung

  • Wende die Vorverarbeitungs-Transforms auf das Bild an und forme es mit .unsqueeze(0) um, um die Batch-Dimension hinzuzufügen.
  • Leite das Bild durch das Modell, forme die Ausgabe mit .squeeze(0) um, um die Batch-Dimension zu entfernen, und füge eine softmax()-Schicht hinzu.
  • Verwende argmax(), um die Klasse mit der höchsten Wahrscheinlichkeit auszuwählen.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# Apply preprocessing transforms
batch = ____.____

# Apply model with softmax layer
prediction = ____.____.____

# Apply argmax
class_id = prediction.____.item()
score = prediction[class_id].item()
category_name = weights.meta["categories"][class_id]
print(category_name)
Code bearbeiten und ausführen