> For the complete documentation index, see [llms.txt](https://docs.roboflow.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.roboflow.com/get-started/hi/guides/run-a-model-locally.md).

# मॉडल को स्थानीय रूप से चलाएँ

[Roboflow इन्फ़ेरेंस](https://docs.roboflow.com/deployment/self-hosted/self-hosted) Roboflow के होस्ट किए गए मॉडलों के पीछे का निःशुल्क, ओपन-सोर्स इंजन है। आप वही मॉडल अपने कंप्यूटर पर चला सकते हैं: Docker कंटेनर में inference server शुरू करें, फिर उसे HTTP या Python के जरिए छवियाँ भेजें [इन्फ़ेरेंस SDK](https://docs.roboflow.com/reference/inference/inference-sdk). इसे स्वयं चलाने से आपकी छवियाँ आपके अपने मशीन पर रहती हैं और आपको अपने सेटअप पर पूरा नियंत्रण मिलता है।

## अपनी मशीन पर मॉडल चलाएँ

{% tabs %}
{% tab title="HTTP (Python)" icon="webhook" %}
{% stepper %}
{% step %}

### इन्फ़ेरेंस सर्वर शुरू करें

`इन्फ़ेरेंस सर्वर शुरू करें` को लॉन्च करता है [इन्फ़ेरेंस सर्वर](https://docs.roboflow.com/deployment/self-hosted/inference-server) Docker कंटेनर में और आपके हार्डवेयर के लिए सही संस्करण चुनता है: CPU, NVIDIA GPU, या Jetson। [Docker](https://docs.docker.com/get-docker/) इंस्टॉल और चल रहा होना चाहिए।

```bash
pip install inference-cli && inference server start
```

सर्वर इस पर सुनता है `http://localhost:9001`. डिवाइस-विशिष्ट सेटअप और समस्या निवारण के लिए, देखें [इन्फ़ेरेंस इंस्टॉल गाइड](https://docs.roboflow.com/deployment/self-hosted/inference-server/install).
{% endstep %}

{% step %}

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

`supervision` परिणामों को चित्रित करता है और शामिल करता है `cv2` और `numpy`:

```bash
pip install -U supervision
```

{% endstep %}

{% step %}

### मॉडल चलाएँ

छवि को अपने लोकल सर्वर पर भेजें और एक तैयार-मेड चलाएँ [RF-DETR](https://docs.roboflow.com/models/supported-models/rf-detr) मॉडल। इस तरह के तैयार-मेड मॉडल के लिए API key की आवश्यकता नहीं होती:

```python
import base64
import cv2
import requests
import supervision as sv

image = sv.load_image_from_url("https://media.roboflow.com/quickstart/cars.jpg")
image_b64 = base64.b64encode(content).decode("utf-8")

result = requests.post(
    "http://localhost:9001/coco/38",  # coco/38 == rfdetr-nano
    data=image_b64,  # कच्चा base64 body में
    headers={"Content-Type": "application/x-www-form-urlencoded"},
).json()
detections = sv.Detections.from_inference(result)
print(f"{len(detections)} ऑब्जेक्ट मिले")

annotated = sv.BoxAnnotator().annotate(image.copy(), detections)
annotated = sv.LabelAnnotator().annotate(annotated, detections)
cv2.imwrite("output.jpg", annotated)
```

{% endstep %}
{% endstepper %}
{% endtab %}

{% tab title="SDK (Python)" icon="python" %}
{% stepper %}
{% step %}

### इन्फ़ेरेंस सर्वर शुरू करें

`इन्फ़ेरेंस सर्वर शुरू करें` को लॉन्च करता है [इन्फ़ेरेंस सर्वर](https://docs.roboflow.com/deployment/self-hosted/inference-server) Docker कंटेनर में और आपके हार्डवेयर के लिए सही संस्करण चुनता है: CPU, NVIDIA GPU, या Jetson। [Docker](https://docs.docker.com/get-docker/) इंस्टॉल और चल रहा होना चाहिए।

```bash
pip install inference-cli && inference server start
```

सर्वर इस पर सुनता है `http://localhost:9001`. डिवाइस-विशिष्ट सेटअप और समस्या निवारण के लिए, देखें [इन्फ़ेरेंस इंस्टॉल गाइड](https://docs.roboflow.com/deployment/self-hosted/inference-server/install).
{% endstep %}

{% step %}

### SDK इंस्टॉल करें

`supervision` परिणामों को चित्रित करता है और शामिल करता है `cv2` और `numpy`:

```bash
pip install -U inference-sdk supervision
```

{% endstep %}

{% step %}

### मॉडल चलाएँ

क्लाइंट को अपने लोकल सर्वर की ओर इंगित करें और एक तैयार-मेड चलाएँ [RF-DETR](https://docs.roboflow.com/models/supported-models/rf-detr) मॉडल। इस तरह के तैयार-मेड मॉडल के लिए API key की आवश्यकता नहीं होती:

```python
import cv2
import supervision as sv
from inference_sdk import InferenceHTTPClient

image = sv.load_image_from_url("https://media.roboflow.com/quickstart/cars.jpg")

client = InferenceHTTPClient(api_url="http://localhost:9001")
result = client.infer(image, model_id="rfdetr-nano")

detections = sv.Detections.from_inference(result)
print(f"{len(detections)} ऑब्जेक्ट मिले")

annotated = sv.BoxAnnotator().annotate(image.copy(), detections)
annotated = sv.LabelAnnotator().annotate(annotated, detections)
cv2.imwrite("output.jpg", annotated)
```

{% endstep %}
{% endstepper %}
{% endtab %}
{% endtabs %}

पहला अनुरोध मॉडल डाउनलोड करता है, इसलिए इसमें कुछ सेकंड लग सकते हैं। बाद के अनुरोध तेज़ होते हैं।

<figure><img src="/files/b662130387966d68d1cd31579f1652ca035ecb7a" alt="RF-DETR car and truck bounding boxes on a road scene"><figcaption><p>लोकल इन्फ़ेरेंस सर्वर से RF-DETR डिटेक्शन</p></figcaption></figure>

## वीडियो प्रोसेस करें

किसी वीडियो पर मॉडल चलाने के लिए, सर्वर के साथ एक WebRTC सत्र खोलें और वीडियो चलते समय प्रोसेस किए गए फ़्रेम तथा भविष्यवाणियाँ प्राप्त करें। यदि आपका कंप्यूटर साथ नहीं दे पाता, तो रीयल टाइम में बने रहने के लिए सर्वर फ़्रेम छोड़ देता है। वही SDK एक मॉडल या एक [वर्कफ़्लो](https://docs.roboflow.com/workflows).

{% hint style="info" %}
आप ऊपर दिए गए इमेज उदाहरण की तरह, एक-एक फ़्रेम भेजकर HTTP के माध्यम से भी वीडियो पर मॉडल चला सकते हैं (कोई streaming add-on आवश्यक नहीं)। यह धीमा है: अगले फ़्रेम के शुरू होने से पहले हर फ़्रेम को भेजना, प्रोसेस करना, और उस पर ड्रॉ करना पड़ता है, इसलिए बीच में बहुत इंतज़ार होता है। SDK पूरे वीडियो को stream करता है और एक साथ कई फ़्रेमों पर काम करता है, इसलिए यह बहुत बेहतर तरीके से साथ निभाता है।
{% endhint %}

{% stepper %}
{% step %}

### SDK इंस्टॉल करें

स्ट्रीमिंग वीडियो के लिए आवश्यक है `webrtc` ऐड-ऑन:

```bash
pip install "inference-sdk[webrtc]"
```

{% endstep %}

{% step %}

### वीडियो पर मॉडल चलाएँ

```python
import cv2
from inference_sdk import InferenceHTTPClient
from inference_sdk.webrtc import VideoFileSource
import supervision as sv

client = InferenceHTTPClient.init(api_url="http://localhost:9001")

# वीडियो डाउनलोड+कैश करें
source = VideoFileSource("https://media.roboflow.com/quickstart/cars.mp4")
# अनुकूलित वीडियो स्ट्रीमिंग के लिए webrtc का उपयोग करता है
session = client.webrtc.stream(
    source=source,
    model_id="rfdetr-nano"
)

# on_frame मुख्य थ्रेड पर चलता है, इसलिए cv2.imshow सुरक्षित है
@session.on_frame
def show(frame, data):
    det = sv.Detections.from_inference(data)
    img = sv.BoxAnnotator().annotate(frame, det)
    img = sv.LabelAnnotator().annotate(img, det)
    cv2.imshow("RF-DETR", img)
    if cv2.waitKey(1) == ord("q"):
        session.close()

session.run()
cv2.destroyAllWindows()
```

{% endstep %}
{% endstepper %}

{% embed url="<https://media.roboflow.com/quickstart/cars-rfdetr-out.mp4>" %}

अधिक समृद्ध पाइपलाइनें (ट्रैकिंग, फ़िल्टरिंग, ज़ोन, सूचनाएँ) दृश्य रूप से इसमें बनाएँ [वर्कफ़्लो संपादक](https://docs.roboflow.com/workflows/build/create-a-workflow), फिर उन्हें उसी WebRTC क्लाइंट से चलाएँ। देखें [वर्कफ़्लो के साथ वीडियो प्रोसेसिंग](https://docs.roboflow.com/workflows/deploy/video-processing).

## अन्य विकल्प

* क्या आप हार्डवेयर चलाए बिना प्रबंधित एंडपॉइंट पसंद करते हैं? उपयोग करें [समर्पित डिप्लॉयमेंट](https://docs.roboflow.com/deployment/roboflow-cloud/dedicated-deployments) या [Serverless Cloud API](https://docs.roboflow.com/deployment/roboflow-cloud/serverless-api).
* क्या on-premises, air-gapped, या Kubernetes डिप्लॉयमेंट चाहिए? देखें [एंटरप्राइज़ डिप्लॉयमेंट](https://docs.roboflow.com/deployment/self-hosted/enterprise).
* हर विकल्प की तुलना यहाँ करें [मॉडल या वर्कफ़्लो डिप्लॉय करें](https://docs.roboflow.com/deployment).
