ComeçarComece de graça

Aprendizado zero-shot com CLIP

Você vai usar o aprendizado zero-shot pra classificar uma imagem do conjunto de dados rajuptvs/ecommerce_products_clip, que tem cerca de 2 mil imagens de produtos com descrições relacionadas:

Imagem de uma mulher a desfilar um vestido

O conjunto de dados (dataset), o CLIPProcessor (processor) e o CLIPModel (model) já estão carregados pra você, junto com uma lista de categorias:

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

Este exercício faz parte do curso

Modelos multimodais com Hugging Face

Ver curso

Instruções do exercício

  • Use o processor para pré-processar o categories e a imagem no índice 999 de dataset; habilite o preenchimento.
  • Passa o arquivo descompactado “ inputs ” para “ model ”.
  • Calcule as probabilidades de cada categoria usando o atributo “ .logits_per_image ” e o método “ .softmax() ”.
  • Encontre a categoria mais provável usando probs e categories.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

# 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 e executar o código