For the complete documentation index, see llms.txt. This page is also available as Markdown.

Perception Encoder

Dedicated Deployment या self-hosted Inference पर इमेज और टेक्स्ट एम्बेडिंग्स की गणना करने के लिए Meta के Perception Encoder का उपयोग करें

Perception Encoder Meta का विज़न-भाषा एम्बेडिंग मॉडल है। यह छवियों और पाठ को समानता खोज, ज़ीरो-शॉट वर्गीकरण, और पुनर्प्राप्ति के लिए एक साझा एम्बेडिंग स्पेस में मैप करता है।

Perception Encoder Serverless Cloud API पर उपलब्ध नहीं है। इसे एक पर चलाएँ समर्पित डिप्लॉयमेंट या स्व-होस्टेड Inference.

हम तीन Perception Encoder एंडपॉइंट्स का समर्थन करते हैं:

  • /perception_encoder/embed_image - एक छवि एम्बेड करें

  • /perception_encoder/embed_text - एक स्ट्रिंग एम्बेड करें

  • /perception_encoder/compare - एक छवि और टेक्स्ट प्रॉम्प्ट्स की सूची के बीच समानता की गणना करें

कोड नमूना

1

अपनी API कुंजी प्राप्त करें

एक Roboflow खाता बनाएँ, अपनी कुंजी यहाँ ढूँढें Roboflow API सेटिंग्स पेज और इसे अपने शेल में उपलब्ध कराएँ:

export ROBOFLOW_API_KEY="आपकी-कुंजी-यहाँ"
2

निर्भरताएँ इंस्टॉल करें

ये पैकेज छवि को फ़ेच करते हैं और API को कॉल करते हैं:

pip install -U requests opencv-python supervision
3

मॉडल चलाएँ

नीचे दिया गया उदाहरण एक छवि को भेजता है /perception_encoder/embed_image और एम्बेडिंग का आकार प्रिंट करता है। सेट करें URL को अपने Dedicated Deployment URL या किसी स्थानीय Inference सर्वर पर।

import base64
import os
import cv2
import requests
import supervision as sv

URL = "https://your-deployment.roboflow.cloud"

image = sv.load_image_from_url("https://media.roboflow.com/notebooks/examples/dog.jpeg")

_, buffer = cv2.imencode(".jpg", image)
image_base64 = base64.b64encode(buffer).decode("utf-8")

response = requests.post(
    f"{URL}/perception_encoder/embed_image",
    json={
        "api_key": os.environ["ROBOFLOW_API_KEY"],
        "image": {"type": "base64", "value": image_base64},
    },
)
result = response.json()
embedding = result["embeddings"][0]
print(f"Embedding length: {len(embedding)}")
print(f"First values: {embedding[:5]}")

ऊपर दिया गया कोड टर्मिनल पर एम्बेडिंग का आकार प्रिंट करता है:

Embedding length: 1024
First values: [0.0545, -0.0338, -0.0355, -0.0062, 0.0154]

इन्फरेंस गति

विलंबता मापी गई Roboflow Inference पर 1x NVIDIA L4, बैच आकार 1, वार्मअप के बाद के औसत के साथ।

मॉडल
विलंबता (ms)

perception-encoder

25.2

के साथ मापा गया embed_image पर PE-Core-L14-336 चेकपॉइंट (केवल इमेज एम्बेडिंग)।

सेट करें URL को अपने डिप्लॉयमेंट लक्ष्य से मिलाएँ:

Inference के साथ उपयोग करें (सेल्फ-होस्टेड)

Perception Encoder को सीधे के साथ लोड किया जा सकता है inference पैकेज, जो स्थानीय रूप से कई छवियों या वीडियो फ्रेम्स को एम्बेड करते समय सबसे तेज़ तरीका है।

1

पैकेज इंस्टॉल करें

उपयोग करें inference-gpu[transformers] एक GPU मशीन पर।

2

स्थानीय रूप से एम्बेड और तुलना करें

उपलब्ध चेकपॉइंट

model_id बैकबोन चुनता है:

  • perception_encoder/PE-Core-B16-224

  • perception_encoder/PE-Core-L14-336

  • perception_encoder/PE-Core-G14-448

केवल CLIP-शैली इंटरफ़ेस समर्थित है; भाषा-संरेखित और स्थानिक-संरेखित Perception Encoder संस्करण अभी उपलब्ध नहीं हैं।

Perception Encoder समान API संरचना का उपयोग करता है CLIP: embed_image, embed_text, और compare एक ही तर्क लेता है और समान प्रतिक्रिया प्रारूप लौटाता है, इसलिए CLIP के लिए लिखा गया कोड मॉडल बदलकर Perception Encoder के साथ काम करता है।

Workflows में उपयोग करें

Perception Encoder उपलब्ध है Workflows के माध्यम से Perception Encoder Embedding Model ब्लॉक में, जो बिना कोड लिखे छवि या पाठ एम्बेडिंग उत्पन्न करता है।

अंतिम अपडेट

क्या यह उपयोगी था?