> 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).

# Neural Architecture Search

<figure><img src="/files/8e7dc98628ba71ef55ca535e32e99dccc4e4cf2e" alt="NAS results page showing a Pareto frontier of trained models plotted across latency and accuracy."><figcaption><p>NAS परिणाम पृष्ठ गति बनाम शुद्धता के Pareto फ्रंटियर पर हर प्रशिक्षित मॉडल दिखाता है।</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 चलाना लगभग हमेशा फायदेमंद होता है। क्योंकि Pareto फ्रंटियर पर मौजूद हर mined मॉडल आपके डेटा पर पूरी तरह प्रशिक्षित होता है, आप केवल आकार नहीं चुनते - बल्कि अपने विशिष्ट deployment target के लिए सबसे अच्छा गति/शुद्धता ट्रेडऑफ़ चुनते हैं। वास्तविक ग्राहक रन में, NAS अक्सर समान latency पर एकल RF-DETR Medium फ़ाइन-ट्यून से बेहतर प्रदर्शन करता है, और कई बार काफी बड़े अंतर से।

इन स्थितियों में NAS का उपयोग करें:

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

यदि निम्न स्थितियाँ हों तो NAS जरूरत से ज़्यादा हो सकता है:

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

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

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

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

योजना बनाने के लिए सामान्य अनुमान:

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

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

एक NAS रन अपनी ट्रेनिंग और अपने आर्किटेक्चर सर्च के लिए अलग-अलग बिल करता है, इसलिए आप एक [क्रेडिट सीमा](/models/hi/train/train-a-model.md#set-a-credit-cap) प्रत्येक पर लगा सकते हैं। केवल ट्रेनिंग चरण पर सीमा लगाने से search पर कोई सीमा नहीं रहती, और उल्टा भी।

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

## NAS बनाम YOLO-NAS

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

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

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

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

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

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

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

## एक NAS ट्रेनिंग रन शुरू करें

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

अपने प्रोजेक्ट में Train टैब खोलें ( `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 चुनें**

कई मॉडल वैरिएंट वाले project types (उदा.: object detection में Fast, Standard, और Plus उपलब्ध हैं) के लिए, आगे बढ़ने से पहले आपको एक backbone चुनना होगा। अपने उपयोग-केस के अनुरूप वैरिएंट पर क्लिक करें। जिन project types में केवल एक वैरिएंट होता है (उदा.: instance segmentation), वह अपने आप चुना जाता है।
{% endstep %}

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

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

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

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

{% step %}

#### एक backbone चुनें (केवल object detection)

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

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

Instance segmentation प्रोजेक्ट एक ही 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 द्वारा खोजे और प्रशिक्षित किए गए हर मॉडल को Pareto frontier के साथ प्लॉट करके दिखाता है - प्रत्येक latency बिंदु पर खोजा गया सर्वोत्तम मॉडल। हर बैंगनी बिंदु एक पूरी तरह प्रशिक्षित मॉडल है जिसे आप तैनात कर सकते हैं। mining के आगे बढ़ने के साथ frontier लाइव अपडेट होती रहती है, इसलिए आप पूर्ण रन के समाप्त होने से पहले ही उम्मीदवारों का मूल्यांकन शुरू कर सकते हैं।

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

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

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

रन के दौरान NAS द्वारा दिखाए जाने वाले लाइव ट्रेनिंग चार्ट्स (Training Progress Band और Epoch Snapshot दृश्य) के बारे में अधिक जानकारी के लिए, देखें [ट्रेनिंग परिणाम देखें](/models/hi/evaluate/training-results.md).

## NAS रन रोकना

एक NAS जॉब के दो चरण होते हैं - **ट्रेनिंग** और **माइनिंग** - जो उसी जॉब में एक के बाद एक चलते हैं। आपके पास रन रोकने के दो तरीके हैं:

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

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

## NAS द्वारा खोजे गए मॉडल तैनात करना

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

* **Roboflow Serverless Cloud API** (नीचे दिए गए कोड उदाहरण देखें)।
* **समर्पित डिप्लॉयमेंट्स** अधिक throughput या आरक्षित क्षमता के लिए।
* **Workflows** और **Batch Processing** vision pipelines बनाने और चलाने के लिए।
* **Self-hosted** [**Roboflow Inference**](https://docs.roboflow.com/deployment/self-hosted/self-hosted) अपने स्वयं के हार्डवेयर पर (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 मॉडल के साथ करते हैं। नीचे दिए गए कोड उदाहरण होस्टेड endpoint और स्थानीय Inference सर्वर दोनों के साथ काम करते हैं - बस ... को बदल दें `api_url`.

### Roboflow Serverless Cloud API

{% tabs %}
{% tab title="पायथन (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}",
    headers={
        "Content-Type": "application/x-www-form-urlencoded",
        "Authorization": f"Bearer {API_KEY}",
    },
    data=image_data,
)

print(response.json())
```

{% endtab %}

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

```python
from inference_sdk import InferenceHTTPClient, InferenceConfiguration

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

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

{% endtab %}

{% tab title="cURL" %}
**लिनक्स या macOS**

नामक स्थानीय फ़ाइल के लिए JSON predictions प्राप्त करना `your_image_path.png`:

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

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

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

{% endtab %}

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

ये उदाहरण बिल्ट-इन `fetch` API का उपयोग करते हैं। यह Node.js 18 और उसके बाद के संस्करणों तथा आधुनिक ब्राउज़रों में काम करता है, इसलिए कोई निर्भरता इंस्टॉल करने की आवश्यकता नहीं है।

**स्थानीय छवि पर अनुमान लगाना**

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

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

fetch("https://serverless.roboflow.com/your-workspace/the-model-id-here", {
    method: "POST",
    headers: {
        "Content-Type": "application/x-www-form-urlencoded",
        "Authorization": "Bearer roboflow-API-KEY"
    },
    body: image
})
    .then((response) => {
        if (!response.ok) throw new Error("Request failed with status " + response.status);
        return response.json();
    })
    .then((data) => {
        console.log(data);
    })
    .catch((error) => {
        console.log(error.message);
    });
```

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

```javascript
fetch(
    "https://serverless.roboflow.com/your-workspace/the-model-id-here?image=" +
        encodeURIComponent("https://i.imgur.com/PEEvqPN.png"),
    {
        method: "POST",
        headers: {
            "Authorization": "Bearer roboflow-API-KEY"
        }
    }
)
    .then((response) => {
        if (!response.ok) throw new Error("Request failed with status " + response.status);
        return response.json();
    })
    .then((data) => {
        console.log(data);
    })
    .catch((error) => {
        console.log(error.message);
    });
```

{% endtab %}
{% endtabs %}
