Hub documentation

Menggunakan OpenCLIP di Hugging Face

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Menggunakan OpenCLIP di Hugging Face

OpenCLIP adalah implementasi open-source dari CLIP milik OpenAI.

Menjelajahi OpenCLIP di Hub

Anda dapat menemukan model OpenCLIP dengan memfilter di bagian kiri halaman model.

Model OpenCLIP yang dihosting di Hub memiliki kartu model dengan informasi berguna tentang model-model tersebut. Berkat integrasi OpenCLIP dengan Hugging Face Hub, Anda dapat memuat model OpenCLIP dengan beberapa baris kode. Anda juga dapat mendeploy model-model ini menggunakan Inference Endpoints.

Instalasi

Untuk memulai, Anda dapat mengikuti panduan instalasi OpenCLIP. Anda juga dapat menggunakan instalasi satu baris berikut melalui pip:

$ pip install open_clip_torch

Menggunakan model yang sudah ada

Semua model OpenCLIP dapat dengan mudah dimuat dari 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')

Setelah dimuat, Anda dapat mengkodekan gambar dan teks untuk melakukan klasifikasi gambar 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) 

Ia menghasilkan probabilitas untuk setiap kelas yang mungkin:

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

Jika Anda ingin memuat model OpenCLIP tertentu, Anda dapat mengklik Use in OpenCLIP di kartu model dan Anda akan diberikan potongan kode yang berfungsi!

Sumber daya tambahan

Update on GitHub