> 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/train-a-model.md).

# एक मॉडल प्रशिक्षित करें

## के बारे में

आप Roboflow इंटरफ़ेस में कंप्यूटर विज़न मॉडल्स को प्रशिक्षित कर सकते हैं.

Roboflow दो प्रशिक्षण विकल्प प्रदान करता है:

* Roboflow Custom Train: हमारी प्रमुख प्रशिक्षण सेवा, प्रोडक्शन-रेडी मॉडल बनाने के लिए आदर्श.
* [Neural Architecture Search](/models/hi/train/neural-architecture-search.md): नए मॉडल आर्किटेक्चर खोजें और उसी समय फाइन-ट्यून करें.

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

Roboflow पर प्रशिक्षित मॉडल्स को Inference, हमारे ऑन-डिवाइस इन्फ़रेंस सर्वर, के साथ, या क्लाउड में हमारे Serverless Hosted API के उपयोग से Workflows, Workflows के साथ Batch Processing, या अपने मॉडल API endpoint के माध्यम से डिप्लॉय किया जा सकता है.

{% hint style="info" %}
हमारी [लाइसेंसिंग मार्गदर्शिका](https://roboflow.com/licensing) पढ़ें, ताकि Roboflow पर प्रशिक्षित मॉडलों के लाइसेंस के बारे में अधिक जान सकें.
{% endhint %}

## वेब ऐप

### मॉडल प्रशिक्षित करें

कंप्यूटर विज़न मॉडल प्रशिक्षित करने के लिए, प्रोजेक्ट नेविगेशन में "Train" पर जाएँ.

<figure><img src="/files/d82faf5f0f75e761118a5c631c09dbe8fc3d4778" alt=""><figcaption></figcaption></figure>

एक प्रशिक्षण जॉब कॉन्फ़िगर करना शुरू करने के लिए "Custom Training" बटन पर क्लिक करें:

<figure><img src="/files/e7673b3a21ae208a637419b4902f6d01ee381cca" alt=""><figcaption></figcaption></figure>

#### Neural Architecture Search (NAS)

ऑब्जेक्ट डिटेक्शन और इंस्टेंस सेगमेंटेशन प्रोजेक्ट्स के लिए, आप **Neural Architecture Search (NAS)** का उपयोग एकल मॉडल आर्किटेक्चर चुनने के बजाय कर सकते हैं। NAS स्वतः कई मॉडल कॉन्फ़िगरेशन को प्रशिक्षित और मूल्यांकन करता है, फिर आपकी सटीकता और लेटेंसी आवश्यकताओं के आधार पर सबसे अच्छा विकल्प सुझाता है.

NAS का उपयोग करने के लिए, प्रशिक्षण इंजन चुनते समय NAS विकल्प चुनें। NAS के लिए कम से कम 15 वैलिडेशन इमेजेस आवश्यक हैं.

NAS प्रशिक्षण चार्ट्स के बारे में अधिक विवरण के लिए, देखें [प्रशिक्षण परिणाम देखें](/models/hi/evaluate/training-results.md#nas-training-charts).

#### एक मॉडल आर्किटेक्चर चुनें

अगला, आपको एक मॉडल आर्किटेक्चर और आकार चुनना होगा। यह मशीन लर्निंग तकनीक है जिसका उपयोग आपके मॉडल को प्रशिक्षित करने के लिए किया जाता है.

आप किन मॉडल आर्किटेक्चर्स को प्रशिक्षित कर सकते हैं, यह आपके द्वारा सेट किए गए प्रोजेक्ट के प्रकार पर निर्भर करता है। [समर्थित मॉडलों की तालिका](/models/hi/supported-models.md) प्रशिक्षण संगतता के विवरण के लिए देखें.

ऑब्जेक्ट डिटेक्शन के लिए, RF-DETR सर्वोत्तम सटीकता देता है। इंस्टेंस सेगमेंटेशन के लिए, RF-DETR Seg (Preview) सर्वोत्तम सटीकता देता है। कीपॉइंट डिटेक्शन के लिए, RF-DETR Keypoint (Preview) भी उपलब्ध है.

मॉडल के आकार आपके द्वारा चुने गए मॉडल आर्किटेक्चर के आधार पर भिन्न होंगे। उदाहरण के लिए, RF-DETR - एक अत्याधुनिक ऑब्जेक्ट डिटेक्शन मॉडल - Nano, Small, Medium, और Base प्रदान करता है। Medium, Large, और Extra Large केवल भुगतान करने वाले उपयोगकर्ताओं के लिए उपलब्ध हैं। एक [SAM3](/models/hi/supported-models/sam3.md) मॉडल का प्रशिक्षण उन पेड प्लान्स पर उपलब्ध है जिनमें [उपयोग-आधारित बिलिंग](https://docs.roboflow.com/platform/billing-and-plans/credits). वहाँ से, SAM3 आर्किटेक्चर सूची में "Request Feature" बटन के साथ दिखाई देता है, जिसका उपयोग आप एक्सेस प्राप्त करने के लिए कर सकते हैं.

अपने प्रोजेक्ट प्रकार के लिए उपलब्ध आर्किटेक्चर चुनें, फिर "Continue" पर क्लिक करें:

<figure><img src="/files/dcc5a04a89d50162f4090d1ef81c56ca369b7e30" alt=""><figcaption></figcaption></figure>

#### एक चेकपॉइंट चुनें

एक प्रशिक्षण विकल्प चुनने के बाद, आपसे पूछा जाएगा कि क्या आप किसी चेकपॉइंट से प्रशिक्षण देना चाहते हैं। नीचे दिए गए टैब प्रत्येक मॉडल प्रकार के लिए कॉन्फ़िगरेशन विकल्प दिखाते हैं.

{% tabs %}
{% tab title="ऑब्जेक्ट डिटेक्शन" %}
आपके पास तीन विकल्प हैं:

* **पिछले चेकपॉइंट से प्रशिक्षण दें:** जब आपके पास पहले से एक काम करने वाला मॉडल हो जिसे आप बेहतर बनाना चाहते हों, तब यह आदर्श है.
* **पब्लिक चेकपॉइंट से प्रशिक्षण दें:** आपके पहले मॉडल के लिए, या जब पिछला प्रशिक्षण रन अपेक्षित परिणाम न दे सका हो, तब यह आदर्श है.
* **रैंडम इनिशियलाइज़ेशन से प्रशिक्षण दें:** **केवल उन्नत उपयोगकर्ताओं के लिए**, यह विकल्प आपको प्रशिक्षण शुरू करने के लिए एक खाली आधार देता है। अधिकांश उपयोगकर्ताओं को इस विकल्प के साथ खराब परिणाम मिलते हैं.
  {% endtab %}

{% tab title="वर्गीकरण/सिमैंटिक सेगमेंटेशन" %}
वर्गीकरण और सिमैंटिक सेगमेंटेशन मॉडलों के लिए, केवल एक चेकपॉइंट उपलब्ध है.
{% endtab %}
{% endtabs %}

<details>

<summary>मैं प्रशिक्षण विकल्प कैसे चुनूँ?</summary>

नए ऑब्जेक्ट डिटेक्शन प्रोजेक्ट्स के लिए हम पब्लिक चेकपॉइंट से प्रशिक्षण देने की सलाह देते हैं। डिफ़ॉल्ट रूप से, हम Microsoft COCO डेटासेट पर प्रशिक्षित मॉडल से प्रशिक्षण प्रदान करते हैं। वर्गीकरण और सिमैंटिक सेगमेंटेशन के लिए, हम केवल ImageNet से प्रशिक्षण का समर्थन करते हैं.

आप Universe पर होस्ट किए गए प्रोजेक्ट्स पर आधारित चेकपॉइंट्स से प्रशिक्षण दे सकते हैं (केवल ऑब्जेक्ट डिटेक्शन)। ऐसा करने के लिए, पहले [Universe में किसी प्रोजेक्ट को स्टार करें](https://blog.roboflow.com/launch-universe-model-checkpoint/). फिर, वह प्रोजेक्ट Roboflow वेब एप्लिकेशन में प्रशिक्षण चेकपॉइंट के रूप में उपलब्ध होगा.

इसके अलावा, आप मॉडल के पिछले संस्करण पर आधारित चेकपॉइंट से प्रशिक्षण दे सकते हैं (केवल ऑब्जेक्ट डिटेक्शन, इंस्टेंस सेगमेंटेशन, और कीपॉइंट डिटेक्शन)। यह विधि तेज़ प्रशिक्षण प्रक्रिया की अनुमति देती है। हम केवल तभी अपने मॉडल के लिए पिछले चेकपॉइंट से प्रशिक्षण की सलाह देते हैं जब आपका मॉडल मजबूत प्रदर्शन करता हो).

चेकपॉइंट से प्रशिक्षण देने का अर्थ है कि आप [ट्रांसफ़र लर्निंग](https://blog.roboflow.com/what-is-transfer-learning/)का उपयोग कर रहे हैं। ट्रांसफ़र लर्निंग आपके द्वारा चुने गए मॉडल से आपके मॉडल प्रशिक्षण को आरंभ करेगी। यह प्रशिक्षण समय कम करने और बेहतर प्रशिक्षण स्कोर प्रदान करने में मदद कर सकती है.

शुरू से प्रशिक्षण देने का अर्थ है कि आप *यहाँ मान्य नहीं है - per-class metrics splits के बीच aggregate नहीं किए जा सकते।* ट्रांसफ़र लर्निंग का उपयोग कर रहे हैं। यह आपके मॉडल वज़नों के लिए यादृच्छिक प्रारंभिक मानों के साथ मॉडल प्रशिक्षण को शुरू करेगा.

</details>

#### प्रशिक्षण जॉब शुरू करें

एक बार जब आपने प्रशिक्षण के लिए चेकपॉइंट चुन लिया हो, तो Start Training पर क्लिक करें.

इसके बाद आपके डेटासेट को ज़िप किया जाएगा और Roboflow क्लाउड में प्रशिक्षण के लिए तैयार किया जाएगा.

प्रशिक्षण शुरू होने से पहले, प्रशिक्षण सारांश अनुमानित अवधि और क्रेडिट लागत दिखाता है:

<figure><img src="/files/1fbdad2c3c7293859e31daeccba25ebaf9cd00ba" alt=""><figcaption></figcaption></figure>

डेटासेट जितना बड़ा होगा, और आपके डेटासेट में इमेजेस जितनी बड़ी होंगी, आपके मॉडल को प्रशिक्षित होने में उतना ही अधिक समय लगेगा.

जब प्रशिक्षण प्रक्रिया समाप्त होगी, आपको एक ईमेल प्राप्त होगा। अधिकांश मामलों में, यह 24 घंटे के भीतर होना चाहिए.

#### मूल्य निर्धारण

Roboflow पर प्रशिक्षण की कीमत ट्रेन जॉब की अवधि के आधार पर होती है। आप हमारी [क्रेडिट्स पेज](https://www.roboflow.com/credits).

पर अधिक जानकारी देख सकते हैं। यदि आप छात्र या शोधकर्ता हैं और जिस प्रोजेक्ट पर आप काम कर रहे हैं उसके लिए क्रेडिट्स की आवश्यकता है, तो आप [अतिरिक्त क्रेडिट्स के लिए आवेदन कर सकते हैं](https://roboflow.com/contribute).

### Agent से प्रशिक्षण दें

आप उसी प्रशिक्षण रन को [Roboflow Agent](https://docs.roboflow.com/agents/agents/roboflow-agent) से, चैट छोड़े बिना, शुरू कर सकते हैं। Agent में एक प्रोजेक्ट टैब खोलें और "Train" पर क्लिक करें। प्रशिक्षण चरण टैब के भीतर खुलते हैं: पहले एक प्रशिक्षण इंजन चुनें, फिर आर्किटेक्चर और आकार, फिर डेटासेट संस्करण.

यदि आपके द्वारा चुना गया संस्करण अभी तक एक्सपोर्ट नहीं हुआ है, तो Agent पहले एक्सपोर्ट तैयार करता है और उसकी प्रगति दिखाता है। जब एक्सपोर्ट तैयार हो जाता है, तब प्रशिक्षण शुरू होता है। यदि प्रोजेक्ट का कोई संस्करण नहीं है, तो आप उसी स्क्रीन से एक बना सकते हैं.

इस तरह से प्रशिक्षण देने के लिए आपको Train Model और List Versions अनुमतियों की आवश्यकता होगी.

### एक संस्करण पर अनेक मॉडल प्रशिक्षित करें

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

## HTTP API

एक बार जब किसी प्रोजेक्ट का जेनरेट किया गया डेटासेट संस्करण हो जाता है, तो आप एक प्रशिक्षण जॉब शेड्यूल कर सकते हैं जो एक होस्टेड मॉडल बनाती है.

### एक प्रशिक्षण जॉब शुरू करें

डेटासेट संस्करण पर एक प्रशिक्षण रन शुरू करें। डेटासेट संस्करण URL पाथ का हिस्सा है.

```url
POST https://api.roboflow.com/:workspace/:project/:version/train
```

**Body**

<table data-search="false"><thead><tr><th width="180">नाम</th><th width="140">प्रकार</th><th>विवरण</th><th data-type="checkbox">आवश्यक</th></tr></thead><tbody><tr><td><code>model_type</code></td><td>string</td><td>आर्किटेक्चर पहचानकर्ता (जैसे <code>rfdetr-nano</code>, <code>yolov8</code>, <code>yolov11</code>). पूर्ण सूची को त्रुटि के रूप में वापस पाने के लिए एक अमान्य मान पास करें.</td><td>true</td></tr><tr><td><code>checkpoint</code></td><td>string</td><td>प्रशिक्षण जारी रखने के लिए वैकल्पिक चेकपॉइंट.</td><td>false</td></tr><tr><td><code>epochs</code></td><td>integer</td><td>एपॉक्स की संख्या.</td><td>false</td></tr><tr><td><code>speed</code></td><td>string</td><td><code>fast</code> (डिफ़ॉल्ट) या <code>accurate</code>. <code>accurate</code> एक पेड फीचर है.</td><td>false</td></tr></tbody></table>

```bash
curl "https://api.roboflow.com/my-workspace/my-detector/3/train?api_key=$ROBOFLOW_API_KEY" \\
  -X POST \\
  -H "Content-Type: application/json" \\
  -d '{"model_type": "rfdetr-base"}'
```

प्रशिक्षण रन असिंक्रोनस रूप से चलता है। प्रतिक्रिया यह पुष्टि करती है कि जॉब कतार में डाल दी गई थी, यह नहीं कि वह समाप्त हो गई है। प्रगति जांचने के लिए, [प्रशिक्षण परिणामों](/models/hi/evaluate/training-results.md) को पोल करें या संस्करण के `model` फ़ील्ड पर नज़र रखें ताकि प्रशिक्षित मॉडल दिखाई दे.

यहाँ भी वही प्लान सीमाएँ लागू होती हैं जैसी वे वेब ऐप में होती हैं। यदि आपके प्लान में वह आर्किटेक्चर शामिल नहीं है जिसे आप माँगते हैं, तो अनुरोध लौटाता है `400` और कोई जॉब शुरू नहीं होती: `nas_not_available_for_plan` के लिए [NAS](/models/hi/train/neural-architecture-search.md) मॉडल प्रकारों, `sam3_not_available_for_plan` के लिए [SAM3](/models/hi/supported-models/sam3.md) मॉडल प्रकारों.

कॉल करने वाली API कुंजी में यह होना चाहिए `trainingJob:create` स्कोप हो।

## Python SDK

`Version.train()` Roboflow प्लेटफ़ॉर्म पर प्रशिक्षण शेड्यूल करता है। कॉल जॉब के कतार में लग जाने पर वापस आती है - स्वयं प्रशिक्षण असिंक्रोनस रूप से चलता है.

```python
import roboflow

rf = roboflow.Roboflow(api_key="YOUR_API_KEY")
project = rf.workspace().project("my-detector")

# यदि आपके पास अभी तक कोई संस्करण नहीं है, तो preprocessing और augmentation के साथ एक संस्करण बनाएं.
new_version = project.generate_version({
    "preprocessing": {
        "auto-orient": True,
        "resize": {"width": 640, "height": 640, "format": "Stretch to"},
    },
    "augmentation": {},
})
version = project.version(new_version)

# प्रशिक्षण शेड्यूल करें.
model = version.train(
    model_type="rfdetr-nano",   # पूर्ण सूची को त्रुटि के रूप में वापस पाने के लिए एक अमान्य मान पास करें
    checkpoint=None,             # वैकल्पिक: पिछले चेकपॉइंट से फिर से शुरू करें
    epochs=100,                  # वैकल्पिक: डिफ़ॉल्ट मॉडल-प्रकार पर निर्भर करते हैं
    plot_in_notebook=False,      # प्रशिक्षण-प्रगति प्लॉट प्रदर्शित करें (केवल notebook)
)
```

### पैरामीटर

* `model_type` (str) - आर्किटेक्चर पहचानकर्ता. सामान्य मान: `rfdetr-nano`, `rfdetr-base`, `yolov8`, `yolov11`. प्रोजेक्ट-प्रकार पर निर्भर। पूर्ण सूची को त्रुटि के रूप में वापस पाने के लिए एक अमान्य मान पास करें.
* `speed` (str, वैकल्पिक) - `"fast"` (डिफ़ॉल्ट) या `"accurate"`. Accurate training एक पेड फीचर है.
* `checkpoint` (str, वैकल्पिक) - फिर से शुरू करने के लिए किसी चेकपॉइंट की id.
* `epochs` (int, वैकल्पिक) - एपॉक्स की संख्या। डिफ़ॉल्ट मॉडल-प्रकार पर निर्भर करते हैं.
* `plot_in_notebook` (bool, डिफ़ॉल्ट `False`) - प्रशिक्षण प्रगति को इनलाइन दिखाएँ (केवल notebook).

### प्रशिक्षण के बाद

एक बार प्रशिक्षण पूरा हो जाने पर, `संस्करण`का `.model` प्रॉपर्टी होस्टेड मॉडल लौटाती है:

```python
predictions = version.model.predict("photo.jpg", confidence=40, overlap=30).json()
```

देखें [किसी इमेज पर मॉडल चलाएँ](https://docs.roboflow.com/deployment/roboflow-cloud/serverless-api#python-sdk) पूरे inference संदर्भ के लिए.

## CLI

आप कमांड लाइन से मॉडल प्रशिक्षण शुरू कर सकते हैं। प्रशिक्षण Roboflow के क्लाउड इन्फ्रास्ट्रक्चर पर चलता है.

### कमांड

```bash
roboflow train start -p <project> -v <version> -t <model-type>
```

या शॉर्टहैंड का उपयोग करें (बिना `start`):

```bash
roboflow train -p <project> -v <version> -t <model-type>
```

#### विकल्प

| फ़्लैग            | विवरण                                      |
| ----------------- | ------------------------------------------ |
| `-p`, `--project` | प्रोजेक्ट ID (आवश्यक)                      |
| `-v`, `--version` | संस्करण संख्या (आवश्यक)                    |
| `-t`, `--type`    | मॉडल प्रकार, जैसे `yolov8n`, `rfdetr-nano` |
| `--checkpoint`    | जिस चेकपॉइंट से प्रशिक्षण फिर शुरू करना है |
| `--speed`         | प्रशिक्षण गति प्रीसेट                      |
| `--epochs`        | प्रशिक्षण एपॉक्स की संख्या                 |

### उदाहरण

किसी विशिष्ट मॉडल प्रकार के साथ प्रशिक्षण शुरू करें:

```bash
roboflow train start -p my-detector -v 3 -t yolov8n
```

किसी चेकपॉइंट से फिर शुरू करें:

```bash
roboflow train start -p my-detector -v 3 -t yolov8n --checkpoint my-checkpoint
```

### JSON आउटपुट

```bash
roboflow train start -p my-detector -v 3 -t yolov8n --json
```

```json
{
  "status": "training_started",
  "project": "my-detector",
  "version": 3
}
```

## अगले चरण

* [किसी प्रशिक्षण जॉब को रोकें या रद्द करें](/models/hi/train/cancel-a-training-job.md).
* समीक्षा करें कि आपके मॉडल ने कैसा प्रदर्शन किया और प्रशिक्षण रन की तुलना करें। देखें [प्रशिक्षित मॉडलों का मूल्यांकन करें](/models/hi/evaluate/evaluate-trained-models.md).
* अपने मॉडल को एक होस्टेड API के रूप में डिप्लॉय करें। देखें [सर्वरलेस API](https://docs.roboflow.com/deployment/roboflow-cloud/serverless-api).
