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:

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
Oefeninstructies
- Gebruik de
processorom decategoriesen de afbeelding op index999vandatasetvoor te verwerken; schakel padding in. - Geef de uitgepakte
inputsdoor aan hetmodel. - Bereken de waarschijnlijkheden van elke categorie met het attribuut
.logits_per_imageen de methode.softmax(). - Vind de meest waarschijnlijke categorie met
probsencategories.
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}")