Views
No views yet
pip install -q git+https://github.com/huggingface/transformers.git1import torch
2from transformers import pipeline
3
4clip = pipeline(
5 task="zero-shot-image-classification",
6 model="facebook/metaclip-2-worldwide-b32-384",
7 torch_dtype=torch.bfloat16,
8 device=0
9)
10labels = ["a photo of a cat", "a photo of a dog", "a photo of a car"]
11
12results = clip("http://images.cocodataset.org/val2017/000000039769.jpg", candidate_labels=labels)
13print(results)AutoModel API:1import requests
2import torch
3from PIL import Image
4from transformers import AutoProcessor, AutoModel
5
6# note: make sure to verify that `AutoModel` is an instance of `MetaClip2Model`
7model = AutoModel.from_pretrained("facebook/metaclip-2-worldwide-b32-384", torch_dtype=torch.bfloat16, attn_implementation="sdpa")
8processor = AutoProcessor.from_pretrained("facebook/metaclip-2-worldwide-b32-384")
9
10url = "http://images.cocodataset.org/val2017/000000039769.jpg"
11image = Image.open(requests.get(url, stream=True).raw)
12labels = ["a photo of a cat", "a photo of a dog", "a photo of a car"]
13
14inputs = processor(text=labels, images=image, return_tensors="pt", padding=True)
15
16outputs = model(**inputs)
17logits_per_image = outputs.logits_per_image
18probs = logits_per_image.softmax(dim=1)
19most_likely_idx = probs.argmax(dim=1).item()
20most_likely_label = labels[most_likely_idx]
21print(f"Most likely label: {most_likely_label} with probability: {probs[0][most_likely_idx].item():.3f}")