Hub documentation
Usando OpenCLIP no Hugging Face
Usando OpenCLIP no Hugging Face
OpenCLIP é uma implementação de código aberto do CLIP da OpenAI.
Explorando o OpenCLIP no Hub
Você pode encontrar modelos OpenCLIP filtrando à esquerda na página de modelos.
Os modelos OpenCLIP hospedados no Hub possuem um model card com informações úteis sobre os modelos. Graças à integração do OpenCLIP com o Hugging Face Hub, você pode carregar modelos OpenCLIP com poucas linhas de código. Você também pode implantar esses modelos usando Inference Endpoints.
Instalação
Para começar, você pode seguir o guia de instalação do OpenCLIP. Você também pode usar a seguinte instalação em uma linha através do pip:
$ pip install open_clip_torchUsando modelos existentes
Todos os modelos OpenCLIP podem ser carregados facilmente do 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')Uma vez carregado, você pode codificar a imagem e o texto para realizar classificação de imagem zero-shot:
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) Ele exibe a probabilidade de cada classe possível:
Label probs: tensor([[0.0020, 0.0034, 0.9946]])
Se você deseja carregar um modelo específico do OpenCLIP, pode clicar em Use in OpenCLIP no cartão do modelo e receber um trecho de código funcional!


Recursos adicionais
- Repositório repository do OpenCLIP
- OpenCLIP docs
- OpenCLIP modelos no Hub