open-clip

Par mkurman · zorai

OpenCLIP — implémentation open-source de CLIP entraînée sur les jeux de données LAION-5B/OpenCLIP. Pooling par attention multi-têtes, variantes de la fonction de perte SigLIP, et large zoo de modèles (ViT, ConvNeXt, EVA). Piloté par la communauté.

npx skills add https://github.com/mkurman/zorai --skill open-clip

Aperçu

OpenCLIP est une réimplémentation open-source de CLIP entraînée sur LAION-5B, LAION-400M et DataComp. Fournit des architectures plus grandes et meilleures que l'original : ViT-H/14, ConvNeXt, EVA-02, SigLIP. Transparence complète du modèle avec personnalisations d'entraînement flexibles.

Installation

uv pip install open-clip-torch

Encodage d'images et de texte

import open_clip
import torch
from PIL import Image

model, _, preprocess = open_clip.create_model_and_transforms(
    "ViT-H-14", pretrained="laion2b_s32b_b79k")
tokenizer = open_clip.get_tokenizer("ViT-H-14")

image = preprocess(Image.open("photo.jpg")).unsqueeze(0)
text = tokenizer(["a dog", "a cat", "a car"])

with torch.no_grad():
    image_features = model.encode_image(image)
    text_features = model.encode_text(text)
    logits = (image_features @ text_features.T).softmax(dim=-1)
    print(f"Predicted: class {logits.argmax().item()} with {logits.max():.2%}")

Références

Skills similaires