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

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

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

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

`inference server start` को लॉन्च करता है [Inference Server](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`. डिवाइस-विशिष्ट सेटअप और समस्या-समाधान के लिए, देखें [Inference इंस्टॉल गाइड](https://docs.roboflow.com/deployment/self-hosted/inference-server/install).
{% endstep %}

{% step %}

### डिपेंडेंसीज़ इंस्टॉल करें

`supervision` परिणामों को ड्रॉ करता है और साथ में लाता है `cv2` और `numpy`:

```bash
pip install supervision
```

{% endstep %}

{% step %}

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

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

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

content = requests.get("https://media.roboflow.com/quickstart/cars.jpg").content
image = cv2.imdecode(np.frombuffer(content, np.uint8), cv2.IMREAD_COLOR)
image_b64 = base64.b64encode(content).decode("utf-8")

result = requests.post(
    "http://localhost:9001/coco/38",  # coco/38 == rfdetr-nano
    data=image_b64,  # बॉडी में raw base64
    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 %}

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

`inference server start` को लॉन्च करता है [Inference Server](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`. डिवाइस-विशिष्ट सेटअप और समस्या-समाधान के लिए, देखें [Inference इंस्टॉल गाइड](https://docs.roboflow.com/deployment/self-hosted/inference-server/install).
{% endstep %}

{% step %}

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

`supervision` परिणामों को ड्रॉ करता है और साथ में लाता है `cv2` और `numpy`:

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

{% endstep %}

{% step %}

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

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

```python
import cv2
import numpy as np
import requests
import supervision as sv
from inference_sdk import InferenceHTTPClient

content = requests.get("https://media.roboflow.com/quickstart/cars.jpg").content
image = cv2.imdecode(np.frombuffer(content, np.uint8), cv2.IMREAD_COLOR)

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>स्थानीय inference सर्वर से RF-DETR डिटेक्शन्स</p></figcaption></figure>

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

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

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

{% stepper %}
{% step %}

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

वीडियो स्ट्रीमिंग के लिए चाहिए `webrtc` add-on:

```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>" %}

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

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

* हार्डवेयर चलाए बिना managed endpoint चाहिए? उपयोग करें [Dedicated Deployment](https://docs.roboflow.com/deployment/roboflow-cloud/dedicated-deployments) या [Serverless Hosted API](https://docs.roboflow.com/deployment/roboflow-cloud/serverless-api).
* on-premises, air-gapped, या Kubernetes deployment चाहिए? देखें [Enterprise Deployment](https://docs.roboflow.com/deployment/self-hosted/enterprise).
* में हर विकल्प की तुलना करें [Deploy a Model or Workflow](https://docs.roboflow.com/deployment).
