> 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/models/hi/train/neural-architecture-search.md).

# न्यूरल आर्किटेक्चर सर्च

<figure><img src="/files/8e7dc98628ba71ef55ca535e32e99dccc4e4cf2e" alt="NAS results page showing a Pareto frontier of trained models plotted across latency and accuracy."><figcaption><p>NAS परिणाम पृष्ठ गति बनाम सटीकता की पारेटो फ्रंटियर के साथ प्रशिक्षित हर मॉडल दिखाता है।</p></figcaption></figure>

Roboflow का Neural Architecture Search (NAS) एक शक्तिशाली नई सुविधा है जो आपके डेटासेट पर स्वचालित रूप से दर्जनों मॉडल आर्किटेक्चर प्रशिक्षित करता है और गति बनाम सटीकता के ट्रेड-ऑफ़ कर्व के साथ सर्वोत्तम विकल्प दिखाता है, जिससे चुनने के लिए कई मॉडल विकल्प कम लागत प्रति मॉडल पर बनते हैं, जो पारंपरिक मॉडल प्रशिक्षण रणनीतियों की तुलना में बेहतर है।

जैसा कि समझाया गया [RF-DETR पेपर में](https://arxiv.org/html/2511.09554v2), यह Neural Architecture Search रणनीति ही है जिसने RF-DETR के SOTA मॉडल आर्किटेक्चर को बनाया। Roboflow इस रणनीति को सभी Roboflow ग्राहकों के लिए उपलब्ध करा रहा है, जिससे कोई भी अपने उपयोग-केस के लिए SOTA मॉडल बना सके।

Neural Architecture Search:

* आपके डेटा की विशेषताओं के आधार पर उस मॉडल आर्किटेक्चर की पहचान करता है जो आपके उपयोग-केस के लिए सबसे उपयुक्त है
* आपके डेटा पर उस आर्किटेक्चर को फाइन-ट्यून करता है
* 5,000 से अधिक कॉन्फ़िगरेशन का परीक्षण करता है, जिसके परिणामस्वरूप 10-100 प्रशिक्षित मॉडल बनते हैं, जिन्हें हर लेटेंसी बिंदु पर सटीकता के लिए अनुकूलित किया गया है।

{% embed url="<https://youtu.be/ZtGXkuo1qiE>" %}

## Neural Architecture Search का उपयोग कब करें

जब आप उत्पादन में जाने वाले मॉडल का चयन कर रहे हों, तब NAS चलाना लगभग हमेशा लाभकारी होता है। क्योंकि पारेटो फ्रंटियर पर मौजूद हर mined मॉडल आपके डेटा पर पूरी तरह से प्रशिक्षित होता है, इसलिए आप सिर्फ आकार नहीं चुनते - आप अपने विशिष्ट डिप्लॉयमेंट लक्ष्य के लिए सर्वोत्तम गति/सटीकता समझौता चुनते हैं। वास्तविक ग्राहक रन में, NAS अक्सर समान लेटेंसी पर एकल RF-DETR Medium फाइन-ट्यून से बेहतर प्रदर्शन करता है, और अक्सर काफी बड़े अंतर से।

NAS का उपयोग तब करें जब:

* आपको किसी दिए गए लेटेंसी बजट पर बेहतर सटीकता, या किसी दिए गए सटीकता लक्ष्य पर बेहतर लेटेंसी चाहिए।
* आप उत्पादन के लिए एक मॉडल तैयार कर रहे हैं और गति/सटीकता कर्व के साथ विकल्पों की तुलना करना चाहते हैं।
* अन्यथा आप हाइपरपैरामीटर स्वीप चलाते या कई मॉडल आकारों को एक-के-बाद-एक प्रशिक्षित करते।
* आपको अत्याधुनिक प्रदर्शन चाहिए।

NAS आवश्यकता से अधिक हो सकता है यदि:

* आपका उपयोग-केस सीधा है और एक "good enough" मॉडल पर्याप्त है (उदाहरण: अच्छी रोशनी वाले वातावरण में लोगों का पता लगाना)। खोजपरक या शुरुआती-चरण के प्रोजेक्ट्स के लिए, आम तौर पर एकल फाइन-ट्यून सही विकल्प होता है।
* आप केवल सबसे बड़ा RF-DETR चेकपॉइंट (उदाहरण: RF-DETR XXL) चाहते हैं और छोटे ट्रेड-ऑफ़ बिंदुओं की परवाह नहीं करते।

## लागत, क्रेडिट, और प्लान उपलब्धता

NAS सभी भुगतान वाले Roboflow प्लानों पर उपलब्ध है जिनमें usage-based billing शामिल है। Trial, Free, और Public प्लान के उपयोगकर्ताओं को NAS तक पहुँच नहीं है। usage-based billing के बिना पुराने प्लानों में NAS रन शुरू करने से पहले इसे सक्षम करने के लिए कहा जाएगा।

NAS रन की बिलिंग मानक Roboflow प्रशिक्षण दर पर होती है - **हर 30 मिनट के प्रशिक्षण समय पर 1 क्रेडिट** - किसी भी अन्य प्रशिक्षण जॉब जैसी ही प्रति घंटे दर। एक रन दर्जनों प्रशिक्षित मॉडल बनाता है, इसलिए लागत *प्रति मॉडल* प्रत्येक को अलग-अलग प्रशिक्षित करने की तुलना में कम होती है, लेकिन एकल NAS जॉब के लिए कुल क्रेडिट खर्च एकल फाइन-ट्यून से अधिक होता है।

योजना बनाने के लिए सामान्य सीमाएँ:

* लगभग 2,500-छवि वाले ऑब्जेक्ट डिटेक्शन डेटासेट को आम तौर पर लगभग 18 घंटे (\~36 क्रेडिट) लगते हैं।
* **इंस्टेंस सेगमेंटेशन NAS** ऑब्जेक्ट डिटेक्शन NAS की तुलना में अधिक GPU-गहन होता है - लगभग 1.5–2x लंबे रन की अपेक्षा करें।

Train UI शुरू करने से पहले अनुमानित अवधि और क्रेडिट लागत दिखाता है। यदि अनुमान एक दिन के प्रशिक्षण से अधिक हो, तो जॉब शुरू होने से पहले आपसे पुष्टि करने के लिए कहा जाएगा।

{% hint style="warning" %}
यदि आपके workspace में flex billing बंद है और आपके शामिल क्रेडिट रन के बीच में समाप्त हो जाते हैं, तो NAS स्वतः रुक जाएगा। शामिल-क्रेडिट शेष की परवाह किए बिना रन को पूरा होने देने के लिए, शुरू करने से पहले flex billing सक्षम करें।
{% endhint %}

## NAS बनाम YOLO-NAS

{% hint style="info" %}
यहाँ वर्णित "Neural Architecture Search" इंजन **YOLO-NAS**के समान नहीं है, जो एक YOLO-आधारित एकल आर्किटेक्चर है और Roboflow मॉडल सूची में भी दिखाई देता है। यदि आपने NAS का उपयोग करने के लिए विशेष रूप से अपग्रेड किया है, तो सुनिश्चित करें कि आप Train पेज पर **Neural Architecture Search** इंजन चुन रहे हैं - YOLO-NAS मॉडल आर्किटेक्चर नहीं।
{% endhint %}

Roboflow NAS, RF-DETR का उपयोग करके एक मजबूत आधार से शुरू करता है, जो अपने backbone में अधिक world knowledge शामिल करता है। वहाँ से, NAS आर्किटेक्चर को आपके डेटासेट के अनुसार ढालता है - उदाहरण के लिए, यदि आपके डेटा को कम decoder layers वाले मॉडल से लाभ होता है, तो NAS उस आर्किटेक्चर को स्वतः खोज और प्रदान कर सकता है।

## समर्थित कार्य और ज्ञात सीमाएँ

NAS वर्तमान में समर्थन करता है:

* ऑब्जेक्ट डिटेक्शन
* इंस्टेंस सेगमेंटेशन

अन्य वर्तमान सीमाएँ:

* रॉ वेट्स (`.pt`, `.onnx`, आदि) को तृतीय-पक्ष inference servers पर उपयोग के लिए डाउनलोड नहीं किया जा सकता। NAS मॉडल Roboflow Serverless Hosted API, Dedicated Deployments, Workflows, Batch Processing, और self-hosted [Roboflow Inference](https://docs.roboflow.com/deployment/self-hosted/self-hosted)पर चलते हैं। NAS वेट्स डाउनलोड और चलाने के लिए, हम Roboflow Inference की अनुशंसा करते हैं।
* NAS द्वारा खोजे गए मॉडल वेट्स Roboflow के अंतर्गत लाइसेंस प्राप्त हैं [Platform Model License](https://roboflow.com/platform-model-license-1-0), जिसके लिए आपका Roboflow खाता अच्छी स्थिति में होना आवश्यक है।

## NAS प्रशिक्षण रन शुरू करें

{% stepper %}
{% step %}
**Train टैब खोलें और Neural Architecture Search इंजन चुनें**

अपने प्रोजेक्ट में Train टैब खोलें (at `https://app.roboflow.com/YOUR_WORKSPACE/YOUR_PROJECT_NAME/train`) और **Neural Architecture Search** इंजन चुनें।

<figure><img src="/files/120a3159f803f63a966faf473d5f1428c9f97fa6" alt="Train tab engine selector with Neural Architecture Search highlighted."><figcaption><p>Train टैब पर Neural Architecture Search इंजन चुनें।</p></figcaption></figure>
{% endstep %}

{% step %}
**एक backbone चुनें**

कई मॉडल वैरिएंट वाले प्रोजेक्ट प्रकारों के लिए (उदाहरण: ऑब्जेक्ट डिटेक्शन में Fast, Standard, और Plus उपलब्ध हैं), आगे बढ़ने से पहले आपको एक backbone चुनना होगा। अपने उपयोग-केस के लिए उपयुक्त वैरिएंट पर क्लिक करें। एकल वैरिएंट वाले प्रोजेक्ट प्रकारों (उदाहरण: इंस्टेंस सेगमेंटेशन) में यह स्वतः चयनित होता है।
{% endstep %}

{% step %}
**डेटासेट संस्करण चुनें या बनाएँ**

मौजूदा डेटासेट संस्करण चुनें या नया बनाएँ। कुछ सुझाव:

* हम NAS प्रशिक्षण के लिए अपने डेटासेट में augmentations जोड़ने की अनुशंसा नहीं करते।
* आपके validation split में कम से कम **15 छवियाँ**होनी चाहिए। NAS को स्थिर Pareto frontier खोजने के लिए पर्याप्त validation data चाहिए; 15 validation images से कम वाले training requests को API अस्वीकार कर देगा।

<figure><img src="/files/84f168f31cf7e008ae1180d47024ee50af594bc4" alt="Dataset version selector for a NAS training run."><figcaption><p>अपने NAS रन के लिए डेटासेट संस्करण चुनें या बनाएँ।</p></figcaption></figure>
{% endstep %}

{% step %}

#### एक backbone चुनें (केवल ऑब्जेक्ट डिटेक्शन)

ऑब्जेक्ट डिटेक्शन प्रोजेक्ट्स के लिए, आप तीन backbone विकल्पों में से चुन सकते हैं:

* **Fast** - सबसे तेज़ प्रशिक्षण, सबसे कम-लेटेंसी मॉडल खोजता है। CPU या edge डिप्लॉयमेंट के लिए सर्वोत्तम, जहाँ inference speed शीर्ष प्राथमिकता है।
* **Standard** - संतुलित प्रशिक्षण समय, विस्तृत लेटेंसी रेंज में मॉडल खोजता है। edge या GPU डिप्लॉयमेंट के लिए सर्वोत्तम, जहाँ आप अच्छा गति-विरुद्ध-सटीकता समझौता चाहते हैं।
* **Plus** - सबसे सटीक मॉडल खोजता है। cloud GPU डिप्लॉयमेंट के लिए सर्वोत्तम, जहाँ सटीकता लेटेंसी से अधिक महत्वपूर्ण है।

इंस्टेंस सेगमेंटेशन प्रोजेक्ट्स एक ही backbone का उपयोग करते हैं और इस चरण को छोड़ देते हैं।
{% endstep %}

{% step %}
**प्रशिक्षण शुरू करें**

क्लिक करें **प्रशिक्षण शुरू करें** रन शुरू करने के लिए।

<figure><img src="/files/6b62189c6569bf5822abd798531984cf6c0526e9" alt="Start Training button on the NAS configuration page."><figcaption><p>कॉन्फ़िगरेशन पेज से NAS रन शुरू करें।</p></figcaption></figure>
{% endstep %}
{% endstepper %}

## NAS परिणाम पृष्ठ को पढ़ना

<figure><img src="/files/8e7dc98628ba71ef55ca535e32e99dccc4e4cf2e" alt="NAS results page with purple dots representing trained models along the Pareto frontier."><figcaption><p>हर बैंगनी बिंदु एक पूरी तरह प्रशिक्षित मॉडल है जो डिप्लॉयमेंट के लिए उपलब्ध है।</p></figcaption></figure>

परिणाम पृष्ठ आपके डेटा पर NAS द्वारा mined और प्रशिक्षित हर मॉडल को दिखाता है, जिसे Pareto frontier के साथ प्लॉट किया गया है - प्रत्येक लेटेंसी बिंदु पर खोजा गया सर्वोत्तम मॉडल। हर बैंगनी बिंदु एक पूरी तरह प्रशिक्षित मॉडल है जिसे आप डिप्लॉय कर सकते हैं। माइनिंग आगे बढ़ने के साथ फ्रंटियर लाइव अपडेट होती रहती है, इसलिए आप पूरी रन समाप्त होने से पहले उम्मीदवारों का मूल्यांकन शुरू कर सकते हैं।

**किसी मेट्रिक का चयन।** F1, mAP\@50, और mAP\@50:95 के बीच टॉगल करके अपने उपयोग-केस के लिए महत्वपूर्ण मेट्रिक के विरुद्ध फ्रंटियर का मूल्यांकन करें। अलग-अलग मेट्रिक्स के लिए फ्रंटियर पर अलग-अलग मॉडल दिखाई दे सकते हैं - यह अपेक्षित है। वह मेट्रिक चुनें जो उत्पादन में आप मॉडल का मूल्यांकन कैसे करेंगे, इसे सबसे करीब से दर्शाता हो, फिर अपने लक्ष्य लेटेंसी पर सर्वोत्तम मॉडल चुनें। अधिकांश उपयोग-केस के लिए हम F1 की अनुशंसा करते हैं।

**मॉडलों को स्टार करना।** जिन मॉडलों का आप उपयोग करना चाहते हैं उन्हें स्टार करें। स्टार किए गए मॉडल Workflow model picker में दिखाई देते हैं; अनस्टार किए गए मॉडल परिणाम पृष्ठ पर बने रहते हैं, लेकिन picker से छिपे रहते हैं ताकि यह अव्यवस्थित न हो। जितने चाहें उतने या जितने कम चाहें उतने स्टार करें - स्टार करना मुफ्त है और उलटा किया जा सकता है।

**स्टार किए गए मॉडल का उपयोग।** इसे Workflow में model block का उपयोग करके उसी तरह चुनें जैसे किसी अन्य Roboflow मॉडल को चुनते हैं।

रन के दौरान NAS द्वारा प्रदर्शित live training charts (Training Progress Band और Epoch Snapshot views) के बारे में अधिक जानने के लिए, देखें [प्रशिक्षण परिणाम देखें](/models/hi/evaluate/training-results.md).

## NAS रन रोकना

एक NAS job के दो चरण होते हैं - **training** और **mining** - जो एक ही job में एक के बाद एक चलते हैं। आपके पास रन रोकने के दो तरीके हैं:

* **जल्दी रोकें** (जब आप वर्तमान frontier से संतुष्ट हों, तब इसकी अनुशंसा की जाती है)। चरण के अनुसार "Stop Training Early" या "Stop Mining" पर क्लिक करें। उस बिंदु तक mined मॉडल सुरक्षित रहते हैं और डिप्लॉय किए जा सकते हैं। पूर्ण किए गए कार्य के लिए उपयोग किए गए क्रेडिट बिल किए जाते हैं। देखें [एक प्रशिक्षण जॉब रोकें या रद्द करें](/models/hi/train/cancel-a-training-job.md) विवरण के लिए।
* **रद्द करें** (जब आप रन को पूरी तरह छोड़ना चाहते हों)। "Cancel Training" पर क्लिक करें। कोई वेट्स सेव नहीं होते, लेकिन यदि आप job के शुरुआती हिस्से में रद्द करते हैं तो क्रेडिट वापस कर दिए जाते हैं। देखें [एक प्रशिक्षण जॉब रोकें या रद्द करें](/models/hi/train/cancel-a-training-job.md).

{% hint style="info" %}
जब मॉडल converge हो जाता है - यानी सभी target epochs समाप्त होने से पहले peak performance तक पहुँच जाता है - तब NAS रन स्वतः भी रुक जाते हैं। परिणाम पृष्ठ पर एक banner यह दर्शाता है कि ऐसा हुआ है। आपकी ओर से किसी कार्रवाई की आवश्यकता नहीं है।
{% endhint %}

## NAS से खोजे गए मॉडलों को डिप्लॉय करना

NAS से खोजे गए मॉडल किसी भी अन्य Roboflow-प्रशिक्षित मॉडल की तरह ही डिप्लॉय होते हैं। आप उन्हें इन पर चला सकते हैं:

* **Roboflow Serverless Hosted API** (नीचे दिए गए कोड उदाहरण देखें)।
* **समर्पित परिनियोजन** उच्च throughput या reserved capacity के लिए।
* **वर्कफ़्लोज़** और **Batch Processing** vision pipelines बनाने और चलाने के लिए।
* **Self-hosted** [**Roboflow Inference**](https://docs.roboflow.com/deployment/self-hosted/self-hosted) अपने स्वयं के hardware पर (Docker, edge, या cloud)।

### Roboflow Inference के साथ स्थानीय रूप से NAS मॉडल चलाना

इंस्टॉल करें और शुरू करें [Roboflow Inference](https://docs.roboflow.com/deployment/self-hosted/inference-server/install) अपने हार्डवेयर पर, फिर क्लाइंट को `inference-sdk` पर `http://localhost:9001` इंगित करें और अपने NAS मॉडल ID के साथ उसे उसी तरह कॉल करें जैसे आप किसी अन्य Roboflow मॉडल के साथ करते हैं। नीचे दिए गए कोड उदाहरण hosted endpoint और local Inference server दोनों पर काम करते हैं - बस `api_url`.

### Roboflow Serverless Hosted API

{% tabs %}
{% tab title="Python (requests)" %}

```python
import base64

import requests

API_KEY = "roboflow-API-KEY"
MODEL_ID = "your-workspace/the-model-id-here"
IMAGE_PATH = "your_image_path.png"

with open(IMAGE_PATH, "rb") as f:
    image_data = base64.b64encode(f.read()).decode("utf-8")

response = requests.post(
    f"https://serverless.roboflow.com/{MODEL_ID}",
    params={"api_key": API_KEY},
    headers={"Content-Type": "application/x-www-form-urlencoded"},
    data=image_data,
)

print(response.json())
```

{% endtab %}

{% tab title="Python (inference-sdk)" %}
निर्भरताएँ इंस्टॉल करने के लिए, `pip install inference-sdk`.

```python
from inference_sdk import InferenceHTTPClient

CLIENT = InferenceHTTPClient(
    api_url="https://serverless.roboflow.com",
    api_key="roboflow-API-KEY"
)

result = CLIENT.infer("your_image_path.png", model_id="your-workspace/the-model-id-here")
print(result)
```

{% endtab %}

{% tab title="cURL" %}
**Linux या MacOS**

किसी स्थानीय फ़ाइल जिसका नाम है, के लिए JSON पूर्वानुमान प्राप्त करना `your_image_path.png`:

```bash
base64 your_image_path.png | curl -d @- \
"https://serverless.roboflow.com/your-workspace/the-model-id-here?api_key=roboflow-API-KEY"
```

वेब पर कहीं और होस्ट की गई छवि पर उसके URL के माध्यम से इन्फर करना (यह न भूलें कि [इसे URL-एन्कोड करें](https://www.urlencoder.org/)):

```bash
curl -X POST "https://serverless.roboflow.com/your-workspace/the-model-id-here?\
api_key=roboflow-API-KEY&\
image=https%3A%2F%2Fi.imgur.com%2FPEEvqPN.png"
```

{% endtab %}

{% tab title="जावास्क्रिप्ट" %}
**Node.js**

हम उपयोग कर रहे हैं [axios](https://github.com/axios/axios) इस उदाहरण में POST अनुरोध करने के लिए, इसलिए पहले चलाएँ `npm install axios` निर्भरता इंस्टॉल करने के लिए।

**स्थानीय छवि पर इन्फर करना**

```javascript
const axios = require("axios");
const fs = require("fs");

const image = fs.readFileSync("your_image_path.png", {
    encoding: "base64"
});

axios({
    method: "POST",
    url: "https://serverless.roboflow.com/your-workspace/the-model-id-here",
    params: {
        api_key: "roboflow-API-KEY"
    },
    data: image,
    headers: {
        "Content-Type": "application/x-www-form-urlencoded"
    }
})
.then(function(response) {
    console.log(response.data);
})
.catch(function(error) {
    console.log(error.message);
});
```

**URL के माध्यम से कहीं और होस्ट की गई छवि पर इन्फर करना**

```javascript
const axios = require("axios");

axios({
    method: "POST",
    url: "https://serverless.roboflow.com/your-workspace/the-model-id-here",
    params: {
        api_key: "roboflow-API-KEY",
        image: "https://i.imgur.com/PEEvqPN.png"
    }
})
.then(function(response) {
    console.log(response.data);
})
.catch(function(error) {
    console.log(error.message);
});
```

{% endtab %}
{% endtabs %}
