Hub documentation
Uso de OpenCLIP en Hugging Face
Uso de OpenCLIP en Hugging Face
OpenCLIP es una implementación de código abierto de CLIP de OpenAI.
Explorando OpenCLIP en el Hub
Puedes encontrar modelos de OpenCLIP filtrando a la izquierda de la página de modelos.
Los modelos OpenCLIP alojados en el Hub tienen una tarjeta de modelo con información útil sobre los modelos. Gracias a la integración de OpenCLIP con Hugging Face Hub, puedes cargar modelos OpenCLIP con unas pocas líneas de código. También puedes desplegar estos modelos usando Inference Endpoints.
Instalación
Para comenzar, puedes seguir la guía de instalación de OpenCLIP. También puedes usar la siguiente instalación de una línea a través de pip:
$ pip install open_clip_torchUso de modelos existentes
Todos los modelos de OpenCLIP se pueden cargar fácilmente desde el Hub:
import open_clip
model, preprocess = open_clip.create_model_from_pretrained('hf-hub:laion/CLIP-ViT-g-14-laion2B-s12B-b42K')
tokenizer = open_clip.get_tokenizer('hf-hub:laion/CLIP-ViT-g-14-laion2B-s12B-b42K')Una vez cargado, puedes codificar la imagen y el texto para realizar clasificación de imágenes sin ejemplos:
import torch
from PIL import Image
import requests
url = 'http://images.cocodataset.org/val2017/000000039769.jpg'
image = Image.open(requests.get(url, stream=True).raw)
image = preprocess(image).unsqueeze(0)
text = tokenizer(["a diagram", "a dog", "a cat"])
with torch.no_grad(), torch.cuda.amp.autocast():
image_features = model.encode_image(image)
text_features = model.encode_text(text)
image_features /= image_features.norm(dim=-1, keepdim=True)
text_features /= text_features.norm(dim=-1, keepdim=True)
text_probs = (100.0 * image_features @ text_features.T).softmax(dim=-1)
print("Label probs:", text_probs) Devuelve la probabilidad de cada clase posible:
Label probs: tensor([[0.0020, 0.0034, 0.9946]])
Si deseas cargar un modelo específico de OpenCLIP, puedes hacer clic en Use in OpenCLIP en la tarjeta del modelo y ¡se te proporcionará un fragmento de código funcional!


Recursos adicionales
- Repositorio de OpenCLIP repository
- OpenCLIP docs
- Modelos de OpenCLIP en el Hub