IniziaInizia gratis

Zero-shot learning con CLIP

Userai lo zero-shot learning per classificare un’immagine dal dataset rajuptvs/ecommerce_products_clip, che contiene circa 2.000 immagini di prodotti con le relative descrizioni:

Image of a woman modeling a dress

Il dataset (dataset), il CLIPProcessor (processor) e il CLIPModel (model) sono già stati caricati per te, insieme a un elenco di categorie:

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

Questo esercizio fa parte del corso

Modelli multi-modali con Hugging Face

Visualizza il corso

Istruzioni dell'esercizio

  • Usa il processor per pre-processare le categories e l’immagine all’indice 999 di dataset; abilita il padding.
  • Passa gli inputs unpackati al model.
  • Calcola le probabilità di ciascuna categoria usando l’attributo .logits_per_image e il metodo .softmax().
  • Trova la categoria più probabile usando probs e categories.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# 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}")
Modifica ed esegui il codice