Aan de slagGa gratis aan de slag

Zero-shot learning met CLIP

Je gaat zero-shot learning gebruiken om een afbeelding te classificeren uit de rajuptvs/ecommerce_products_clip-gegevensset, met zo'n 2k productafbeeldingen en bijbehorende beschrijvingen:

Image of a woman modeling a dress

De gegevensset (dataset), CLIPProcessor (processor) en CLIPModel (model) zijn al voor je geladen, net als een lijst met categorieën:

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

Deze oefening maakt deel uit van de cursus

Multi-modale modellen met Hugging Face

Cursus bekijken

Oefeninstructies

  • Gebruik de processor om de categories en de afbeelding op index 999 van dataset voor te verwerken; schakel padding in.
  • Geef de uitgepakte inputs door aan het model.
  • Bereken de waarschijnlijkheden van elke categorie met het attribuut .logits_per_image en de methode .softmax().
  • Vind de meest waarschijnlijke categorie met probs en categories.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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 bewerken en uitvoeren