Aperçu
OpenAI CLIP (Contrastive Language-Image Pre-training) apprend des représentations jointes texte-image. Permet la classification d'images sans apprentissage préalable, la similarité image-texte, la recherche cross-modal et la génération de légendes sans entraînement spécifique à la tâche.
Installation
uv pip install openai-clip
Classification sans apprentissage préalable
import clip
import torch
model, preprocess = clip.load("ViT-B/32")
image = preprocess(load_image("photo.jpg")).unsqueeze(0)
text = clip.tokenize(["a dog", "a cat", "a bird"])
with torch.no_grad():
logits, _ = model(image, text)
probs = logits.softmax(dim=-1)
print(f"Predicted: class {probs.argmax().item()} with {probs.max():.2%} confidence")
Similarité texte-image
images = torch.stack([preprocess(img) for img in [load_image("a.jpg"), load_image("b.jpg")]])
texts = clip.tokenize(["sunset", "ocean", "mountain"])
with torch.no_grad():
similarity = model(images, texts)[0].softmax(dim=-1)