Hub documentation

Hugging Face'te OpenCLIP Kullanımı

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Hugging Face'te OpenCLIP Kullanımı

OpenCLIP, OpenAI'nin CLIP'inin açık kaynak bir uygulamasıdır.

Hub'da OpenCLIP'i Keşfetme

OpenCLIP modellerini modeller sayfasının solundaki filtreleme bölümünden bulabilirsiniz.

Hub üzerinde barındırılan OpenCLIP modellerinin, modeller hakkında faydalı bilgiler içeren bir model kartı vardır. OpenCLIP Hugging Face Hub entegrasyonu sayesinde OpenCLIP modellerini birkaç satır kodla yükleyebilirsiniz. Ayrıca bu modelleri Inference Endpoints kullanarak dağıtabilirsiniz.

Kurulum

Başlamak için OpenCLIP kurulum kılavuzunu takip edebilirsiniz. Ayrıca pip üzerinden aşağıdaki tek satırlık kurulumu da kullanabilirsiniz:

$ pip install open_clip_torch

Mevcut modelleri kullanma

Tüm OpenCLIP modelleri Hub'dan kolayca yüklenebilir:

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')

Yüklendikten sonra, sıfır atımlı görüntü sınıflandırması yapmak için görüntüyü ve metni kodlayabilirsiniz:

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) 

Her olası sınıfın olasılığını çıktılar:

Label probs: tensor([[0.0020, 0.0034, 0.9946]])

Belirli bir OpenCLIP modelini yüklemek istiyorsanız, model kartındaki Use in OpenCLIP bağlantısına tıklayabilir ve size çalışan bir kod parçası sunulur!

Ek kaynaklar

Update on GitHub