ComenzarEmpieza gratis

Aprendizaje sin disparos con CLIP

Utilizarás el aprendizaje sin supervisión (zero-shot learning) para clasificar una imagen del conjunto de datos « rajuptvs/ecommerce_products_clip », que contiene alrededor de 2000 imágenes de productos junto con sus descripciones asociadas:

Imagen de una mujer modelando un vestido

Se han cargado el conjunto de datos (dataset), CLIPProcessor (processor) y CLIPModel (model), así como una lista de categorías:

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

Este ejercicio forma parte del curso

Modelos multimodales con Hugging Face

Ver curso

Instrucciones del ejercicio

  • Utiliza la función « processor » para preprocesar la imagen « categories » y la imagen en el índice « 999 » de « dataset »; habilita el relleno.
  • Pasa el archivo descomprimido « inputs » a « model ».
  • Calcula las probabilidades de cada categoría utilizando el atributo « .logits_per_image » y el método « .softmax() ».
  • Encuentre la categoría más adecuada utilizando probs y categories.

Ejercicio interactivo práctico

Prueba este ejercicio y completa el código de muestra.

# 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}")
Editar y ejecutar código