LoslegenKostenlos loslegen

Zero-Shot-Lernen mit CLIP

Du wirst Zero-Shot-Learning nutzen, um ein Bild aus dem Datensatz „ rajuptvs/ecommerce_products_clip “ zu klassifizieren, der etwa 2.000 Bilder von Produkten mit den dazugehörigen Beschreibungen enthält:

Bild von einer Frau, die ein Kleid vorführt

Der Datensatz (dataset), CLIPProcessor (processor) und CLIPModel (model) wurden für dich geladen, zusammen mit einer Liste von Kategorien:

categories = ["shirt", "trousers", "shoes", "dress", "hat", 
              "bag", "watch", "glasses", "jacket", "belt"]

Diese Übung ist Teil des Kurses

Multimodale Modelle mit Hugging Face

Kurs anzeigen

Anleitung zur Übung

  • Verwende „ processor “, um „ categories “ und das Bild unter dem Index „ 999 “ von „ dataset “ vorzubereiten; aktiviere „padding“.
  • Gib die entpackte Datei „ inputs “ in den Ordner „ model “ rein.
  • Berechne die Wahrscheinlichkeiten für jede Kategorie mit dem Attribut „ .logits_per_image “ und der Methode „ .softmax() “.
  • Such die passende Kategorie über „ probs “ und „ categories “.

Interaktive Übung

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

# Preprocess the categories and image 
inputs = ____(text=____, images=____, return_tensors="pt", padding=____)

# Process the unpacked inputs with the model
outputs = ____

# Calculate the probabilities of each category
probs = outputs.____.____(dim=1)

# Find the most likely category
category = categories[probs.____.item()]
print(f"Predicted category: {category}")
Code bearbeiten und ausführen