Hub documentation
Использование OpenCLIP на Hugging Face
Использование OpenCLIP на Hugging Face
OpenCLIP — это реализация с открытым исходным кодом CLIP от OpenAI.
Исследование OpenCLIP на Hub
Модели OpenCLIP можно найти, применив фильтр слева на странице моделей.
Модели OpenCLIP, размещённые на Hub, имеют карточку модели с полезной информацией. Благодаря интеграции OpenCLIP с Hugging Face Hub вы можете загрузить модели OpenCLIP всего несколькими строками кода. Также вы можете развернуть эти модели с помощью Inference Endpoints.
Установка
Для начала вы можете воспользоваться руководством по установке OpenCLIP. Также можно установить пакет одной командой через pip:
$ pip install open_clip_torchИспользование существующих моделей
Все модели OpenCLIP можно легко загрузить из 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')После загрузки вы можете закодировать изображение и текст для выполнения классификации изображений в режиме 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) Он выводит вероятность каждого возможного класса:
Label probs: tensor([[0.0020, 0.0034, 0.9946]])
Если вы хотите загрузить конкретную модель OpenCLIP, нажмите Use in OpenCLIP на карточке модели — и вы получите готовый фрагмент кода!


Дополнительные ресурсы
- Репозиторий OpenCLIP
- Документация OpenCLIP docs
- OpenCLIP модели в Hub