> 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/reference/hi/inference/inference-cli/infer.md).

# पूर्वानुमान बनाएँ

यह `inference infer` command आपके इनपुट इमेज या वीडियो फ़ाइलों के आधार पर आपके मॉडल से पूर्वानुमान बनाने का एक आसान तरीका प्रदान करता है, और अनुरोधों को एक इन्फरेंस सर्वर पर भेजता है।

{% hint style="success" %}
कमांड के विवरण देखने के लिए, चलाएँ:

```bash
inference infer --help
```

{% endhint %}

## कमांड विवरण

`inference infer` एक इनपुट पथ या URL और एक मॉडल संस्करण लेता है ताकि पूर्वानुमान उत्पन्न कर सके (और वैकल्पिक रूप से इसका उपयोग करके एक विज़ुअलाइज़ेशन बनाता है `supervision`। आप Roboflow होस्टेड इन्फरेंस सर्वर पर इन्फरेंस चलाने के लिए एक होस्ट भी निर्दिष्ट कर सकते हैं।

{% hint style="info" %}
यदि आप एक स्थानीय इन्फरेंस सर्वर का उपयोग कर रहे हैं, तो सुनिश्चित करें कि कमांड `inference server start` को पहले इस्तेमाल किया गया था।
{% endhint %}

{% hint style="success" %}
आपकी Roboflow API कुंजी को `ROBOFLOW_API_KEY` पर्यावरण चर के माध्यम से प्रदान किया जा सकता है।
{% endhint %}

## उदाहरण

### स्थानीय इमेज पर पूर्वानुमान करें

यह कमांड चयनित मॉडल का उपयोग करके एक स्थानीय इमेज से पूर्वानुमान बनाता है और कंसोल पर पूर्वानुमान प्रिंट करता है।

```bash
inference infer -i ./image.jpg -m {your_project}/{version} --api-key {YOUR_API_KEY}
```

विज़ुअलाइज़्ड पूर्वानुमान प्रदर्शित करने के लिए, `-D` विकल्प का उपयोग करें। पूर्वानुमान और विज़ुअलाइज़ेशन को एक स्थानीय डायरेक्टरी में सहेजने के लिए, `-o {path_to_your_directory}` विकल्प का उपयोग करें। ये विकल्प अन्य मोड में भी काम करते हैं।

```bash
inference infer -i ./image.jpg -m {your_project}/{version} --api-key {YOUR_API_KEY} -D -o {path_to_your_output_directory}
```

### इमेज URL पर पूर्वानुमान करें

```bash
inference infer -i https://[YOUR_HOSTED_IMAGE_URL] -m {your_project}/{version} --api-key {YOUR_API_KEY}
```

### होस्टेड API का उपयोग करना

```bash
inference infer -i ./image.jpg -m {your_project}/{version} --api-key {YOUR_API_KEY} -h https://serverless.roboflow.com
```

### स्थानीय डायरेक्टरी से पूर्वानुमान करें

```bash
inference infer -i {your_directory_with_images} -m {your_project}/{version} -o {path_to_your_output_directory} --api-key {YOUR_API_KEY}
```

### वीडियो फ़ाइल पर पूर्वानुमान करें

```bash
inference infer -i {path_to_your_video_file} -m {your_project}/{version} -o {path_to_your_output_directory} --api-key {YOUR_API_KEY}
```

### विज़ुअलाइज़ेशन कॉन्फ़िगर करें

यह `-c` विकल्प को एक `*.yml` फ़ाइल के पथ के साथ प्रदान किया जा सकता है जो `supervision` विज़ुअलाइज़ेशन को कॉन्फ़िगर करती है। कुछ पूर्व-परिभाषित कॉन्फ़िग हैं:

* `bounding_boxes` - के साथ `BoxAnnotator` और `LabelAnnotator` एनोटेटर
* `bounding_boxes_tracing` - के साथ `ByteTracker` और एनोटेटर (`BoxAnnotator`, `LabelAnnotator`)
* `masks` - के साथ `MaskAnnotator` और `LabelAnnotator` एनोटेटर
* `polygons` - के साथ `PolygonAnnotator` और `LabelAnnotator` एनोटेटर

इस स्कीमा का पालन करके एक कस्टम कॉन्फ़िगरेशन बनाया जा सकता है:

```yaml
annotators:
  - type: "bounding_box"
    params:
      thickness: 2
  - type: "label"
    params:
      text_scale: 0.5
      text_thickness: 2
      text_padding: 5
  - type: "trace"
    params:
      trace_length: 60
      thickness: 2
tracking:
  track_activation_threshold: 0.25
  lost_track_buffer: 30
  minimum_matching_threshold: 0.8
  frame_rate: 30
```

यह `एनोटेटर` फ़ील्ड दो कुंजियों वाले डिक्शनरी की एक सूची है: `type` और `param`. `type` एनोटेटर क्लास के नाम को इंगित करता है:

```python
from supervision import *
ANNOTATOR_TYPE2CLASS = {
    "bounding_box": BoxAnnotator,
    "box": BoxAnnotator,
    "mask": MaskAnnotator,
    "polygon": PolygonAnnotator,
    "color": ColorAnnotator,
    "halo": HaloAnnotator,
    "ellipse": EllipseAnnotator,
    "box_corner": BoxCornerAnnotator,
    "circle": CircleAnnotator,
    "dot": DotAnnotator,
    "label": LabelAnnotator,
    "blur": BlurAnnotator,
    "trace": TraceAnnotator,
    "heat_map": HeatMapAnnotator,
    "pixelate": PixelateAnnotator,
    "triangle": TriangleAnnotator,
}
```

`param` एनोटेटर कंस्ट्रक्टर पैरामीटरों का एक डिक्शनरी है (उन्हें इसमें जाँचें [`supervision`](https://github.com/roboflow/supervision) डॉक्स; आप केवल प्रिमिटिव मानों का उपयोग कर सकते हैं, क्योंकि कंस्ट्रक्टरों में परिभाषित क्लास और एनम YAML कॉन्फ़िग से हल नहीं हो सकते)।

`tracking` एक वैकल्पिक कुंजी है जिसमें के लिए कंस्ट्रक्टर पैरामीटरों वाला एक डिक्शनरी होती है `ByteTrack`.

### इन्फरेंस हाइपरपैरामीटर प्रदान करें

यह `-mc` पैरामीटर को एक फ़ाइल के पथ के साथ प्रदान किया जा सकता है `*.yml` जो मॉडल कॉन्फ़िगरेशन निर्दिष्ट करती है (जैसे confidence threshold या IoU threshold)। यदि दिया गया हो, तो कॉन्फ़िगरेशन का उपयोग एक `InferenceConfiguration` ऑब्जेक्ट को प्रारंभ करने के लिए किया जाता है `inference_sdk` लाइब्रेरी से। देखें [इन्फरेंस SDK कॉन्फ़िगरेशन संदर्भ](/reference/hi/inference/inference-sdk/configuration.md) यह जानने के लिए कि किन विकल्पों को के माध्यम से कॉन्फ़िगर किया जा सकता है `*.yml` फ़ाइल। कॉन्फ़िगरेशन कुंजियों का नाम में फ़ील्ड्स के नामों से मेल खाना चाहिए `InferenceConfiguration` ऑब्जेक्ट।
