> 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/model-weights/upload-custom-weights.md).

# कस्टम मॉडल वेट्स अपलोड करें

## Roboflow के बाहर प्रशिक्षित वेट्स अपलोड करना

एक बार जब आपने अपना कस्टम मॉडल प्रशिक्षण पूरा कर लिया हो, तो अपने मॉडल वेट्स को वापस अपने Roboflow प्रोजेक्ट में अपलोड करें ताकि इसका लाभ उठा सकें [Roboflow Inference](https://docs.roboflow.com/deployment/self-hosted/self-hosted).

Roboflow में मॉडल प्रशिक्षित करने के लिए, देखें [मॉडल प्रशिक्षित करें](/models/hi/train/train-a-model.md).

### मॉडल समर्थन

देखें [समर्थित मॉडलों की तालिका](/models/hi/supported-models.md) वेट्स अपलोड संगतता के विवरण के लिए।

{% hint style="warning" %}

* YOLOv8 मॉडल इन पर प्रशिक्षित होने चाहिए `ultralytics==8.0.196`
* YOLOv9 मॉडल इनका उपयोग करके प्रशिक्षित और अपलोड किए जाने चाहिए `ultralytics` से <https://github.com/WongKinYiu/yolov9>
* YOLOv10 मॉडल इनका उपयोग करके प्रशिक्षित और अपलोड किए जाने चाहिए `ultralytics` से

  <https://github.com/THU-MIG/yolov10>
* YOLOv11 मॉडल इन पर प्रशिक्षित होने चाहिए `ultralytics<=8.3.40`
* YOLOv12 मॉडल इनका उपयोग करके प्रशिक्षित और अपलोड किए जाने चाहिए `ultralytics` से <https://github.com/sunsmarterjie/yolov12>
  {% endhint %}

{% hint style="info" %}
बड़े मॉडल आकार बेहतर प्रशिक्षण परिणाम प्रदान करते हैं। हालांकि, मॉडल का आकार जितना बड़ा होगा, प्रशिक्षण समय उतना ही धीमा होगा, और इन्फ़ेरेंस (मॉडल प्रेडिक्शन) की गति भी कम होगी। इस पर विचार करें कि क्या आप तेज़ी से चलने वाली वस्तुओं या वीडियो फ़ीड्स पर रियल-टाइम इन्फ़ेरेंस चाहते हैं (छोटा मॉडल बेहतर है), या आप डेटा एकत्र होने के बाद उसका प्रसंस्करण कर रहे हैं, और उच्च प्रेडिक्शन सटीकता अधिक महत्वपूर्ण है (बड़ा मॉडल चुनें)।
{% endhint %}

### संस्करणयुक्त बनाम संस्करण-रहित मॉडल अपलोड

Roboflow आपके प्रोजेक्ट्स में मॉडल तैनात करने के लिए दो अलग-अलग तरीके प्रदान करता है, जिनमें से प्रत्येक अलग-अलग उपयोग मामलों और संगठनात्मक आवश्यकताओं की पूर्ति करता है। संस्करणयुक्त और संस्करण-रहित तैनाती के बीच चुनाव इस बात पर निर्भर करता है कि क्या आपको डेटासेट संस्करणों के साथ मॉडल के विकास को ट्रैक करना है, या आप अपने वर्कस्पेस के कई प्रोजेक्ट्स में मॉडल साझा करना चाहते हैं।

* **संस्करण-रहित तैनाती**
  * वर्कस्पेस स्तर से जुड़ी हुई
  * एक साथ कई प्रोजेक्ट्स में तैनात की जा सकती है
  * एक ही वर्कस्पेस के भीतर अलग-अलग प्रोजेक्ट्स के बीच मॉडल साझा करने के लिए आदर्श
* **संस्करणयुक्त तैनाती**
  * विशिष्ट प्रोजेक्ट संस्करणों से जुड़ी हुई
  * एक [संस्करण](/models/hi/versions-trainings-and-models.md) में कई अपलोड किए गए मॉडल हो सकते हैं
  * डेटासेट संस्करणों के साथ मॉडल के विकास को ट्रैक करने के लिए आदर्श
  * Label Assist पर मॉडल का उपयोग करने के लिए आदर्श
  * अन्य मॉडल्स के प्रशिक्षण के लिए चेकपॉइंट के रूप में मॉडल का उपयोग करने के लिए आदर्श

## Python SDK

सबसे पहले, सुनिश्चित करें कि आपके पास नवीनतम `roboflow` Python पैकेज इंस्टॉल है:

```bash
pip install --update roboflow
```

### संस्करण-रहित मॉडल

संस्करण-रहित कस्टम वेट्स अपलोड करने के लिए, इस `workspace.deploy_model()` मेथड का उपयोग करें:

```python
workspace.deploy_model(
    model_type="yolov8",  # मॉडल का प्रकार
    model_path="path/to/model",  # मॉडल डायरेक्टरी का पथ
    project_ids=["project1", "project2"],  # प्रोजेक्ट IDs की सूची
    model_name="my-model",  # मॉडल का नाम (कम से कम 1 अक्षर होना चाहिए, और संख्याएँ तथा डैश स्वीकार्य हैं)
    filename="weights/best.pt"  # वेट्स फ़ाइल का पथ (डिफ़ॉल्ट)
)
```

**पैरामीटर**

| पैरामीटर      | प्रकार     | आवश्यक | विवरण                                                                                        |
| ------------- | ---------- | ------ | -------------------------------------------------------------------------------------------- |
| `model_type`  | str        | हाँ    | तैनात किए जा रहे मॉडल का प्रकार, जैसे `yolov8`, `yolov11`.                                   |
| `model_path`  | str        | हाँ    | मॉडल वेट्स वाली डायरेक्टरी का पथ।                                                            |
| `project_ids` | list\[str] | हाँ    | वे प्रोजेक्ट IDs जिनमें मॉडल तैनात करना है।                                                  |
| `model_name`  | str        | हाँ    | मॉडल की पहचान बताने वाला नाम। इसमें कम से कम एक अक्षर होना चाहिए; संख्याएँ और डैश अनुमत हैं। |
| `filename`    | str        | नहीं   | वेट्स फ़ाइल का नाम। डिफ़ॉल्ट: `weights/best.pt`.                                             |

**उदाहरण**

```python
from roboflow import Roboflow

rf = Roboflow(api_key="YOUR_API_KEY")
workspace = rf.workspace("YOUR_WORKSPACE")

workspace.deploy_model(
  model_type="yolov8",
  model_path="./runs/train/weights",
  project_ids=["project-1", "project-2", "project-3"],
  model_name="my-custom-model"
)
```

### संस्करणयुक्त मॉडल

{% hint style="info" %}
संस्करणयुक्त कस्टम-वेट्स अपलोड प्रत्येक अपलोड किए गए मॉडल को एक डेटासेट संस्करण से जोड़ता है। यदि आपके डेटासेट में कोई संस्करण उत्पन्न नहीं हुआ है, तो आप एक बना सकते हैं [ऐप में](https://docs.roboflow.com/datasets/versions/dataset-versions/create-a-dataset-version) या इसके माध्यम से [API](https://docs.roboflow.com/datasets/versions/dataset-versions/create-a-dataset-version#python-sdk).

इस पर दस्तावेज़ देखें [API के माध्यम से किसी संस्करण को लोड करने का तरीका](https://docs.roboflow.com/datasets/versions/dataset-versions#view-a-version) या नीचे दिए गए उदाहरण का संदर्भ लें।
{% endhint %}

कस्टम वेट्स अपलोड करने के लिए, इसका उपयोग करें `version.deploy()` Python SDK में मेथड।

**उपयोग**

```python
version.deploy(
    model_type="yolov8",  # मॉडल का प्रकार
    model_path="path/to/model",  # मॉडल डायरेक्टरी का पथ
    filename="weights/best.pt"  # वेट्स फ़ाइल का पथ (डिफ़ॉल्ट)
)
```

**पैरामीटर**

| पैरामीटर     | प्रकार | आवश्यक | विवरण                                                      |
| ------------ | ------ | ------ | ---------------------------------------------------------- |
| `model_type` | str    | हाँ    | तैनात किए जा रहे मॉडल का प्रकार, जैसे `yolov8`, `yolov11`. |
| `model_path` | str    | हाँ    | मॉडल वेट्स वाली डायरेक्टरी का पथ।                          |
| `filename`   | str    | नहीं   | वेट्स फ़ाइल का नाम। डिफ़ॉल्ट: `weights/best.pt`.           |

**उदाहरण**

```python
from roboflow import Roboflow

rf = Roboflow(api_key="YOUR_API_KEY")
project = rf.workspace().project("PROJECT_ID")

#weights_filename निर्दिष्ट किया जा सकता है, डिफ़ॉल्ट है "weights/best.pt"
version = project.version(VERSION_ID)

#example1 - yolov8 मॉडल के लिए डायरेक्टरी पथ "training1/model1.pt" है
version.deploy("yolov8", "training1", "model1.pt")

#example2 - yolov8 मॉडल के लिए डायरेक्टरी पथ "training1/weights/best.pt" है
version.deploy("yolov8", "training1")
```

**महत्वपूर्ण नोट्स**

{% hint style="info" %}
एक संस्करण में कई अपलोड किए गए मॉडल हो सकते हैं। देखें [संस्करण, प्रशिक्षण, और मॉडल](/models/hi/versions-trainings-and-models.md) कि किसी संस्करण पर मॉडल कैसे संबोधित किए जाते हैं।
{% endhint %}

## CLI

**प्रमाणीकरण**

किसी भी CLI कमांड का उपयोग करने से पहले, आपको Roboflow के साथ प्रमाणीकरण करना होगा:

1. प्रमाणीकरण कमांड चलाएँ: `roboflow login`
2. टर्मिनल में दिखाई गई URL पर जाएँ: <https://app.roboflow.com/auth-cli>
3. वेबसाइट से अपना प्रमाणीकरण टोकन प्राप्त करें
4. टोकन अपने टर्मिनल में पेस्ट करें

क्रेडेंशियल्स स्वतः इस स्थान पर सहेजे जाएँगे `~/.config/roboflow/config.json`

**मॉडल वेट्स अपलोड करना**

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

**मूल उपयोग**

{% code overflow="wrap" %}

```bash
roboflow upload_model -w <workspace> -p <project> -t <model_type> -m <model_path> [-v <version>] [-f <filename>] [-n <model_name>]
```

{% endcode %}

**पैरामीटर**

| फ़्लैग                 | आवश्यक      | विवरण                                                                                                                    |
| ---------------------- | ----------- | ------------------------------------------------------------------------------------------------------------------------ |
| `-w, --workspace`      | नहीं        | वर्कस्पेस ID या URL। डिफ़ॉल्ट रूप से आपका डिफ़ॉल्ट वर्कस्पेस।                                                            |
| `-p, --project`        | हाँ         | जिस प्रोजेक्ट में अपलोड करना है उसका ID। एक संस्करण-रहित मॉडल को कई प्रोजेक्ट्स में अपलोड करने के लिए फ़्लैग को दोहराएँ। |
| `-t, --model_type`     | हाँ         | मॉडल प्रकार, जैसे `yolov8`, `paligemma2`, `rfdetr-medium`.                                                               |
| `-m, --model_path`     | हाँ         | प्रशिक्षित मॉडल फ़ाइल वाली डायरेक्टरी का पथ।                                                                             |
| `-v, --version_number` | नहीं        | जिस डेटासेट संस्करण से मॉडल को जोड़ना है।                                                                                |
| `-f, --filename`       | नहीं        | मॉडल फ़ाइल का नाम। डिफ़ॉल्ट: `weights/best.pt`.                                                                          |
| `-n, --model_name`     | शर्तसापेक्ष | मॉडल नाम। संस्करण-रहित मॉडल तैनाती के लिए आवश्यक।                                                                        |

**उदाहरण**

<pre class="language-bash" data-overflow="wrap"><code class="lang-bash"># 1. किसी विशिष्ट संस्करण पर मॉडल अपलोड करें: 
<strong>roboflow upload_model -w my-workspace -p my-project -v 1 -t yolov8 -m ./weights
</strong>
# 2. एक संस्करण-रहित मॉडल को कई प्रोजेक्ट्स में अपलोड करें:
roboflow upload_model -w my-workspace -p project1 -p project2 -t yolov11 -n my-model-v1 -m ./weights
# 3. एक संस्करण-रहित RF-DETR medium मॉडल को एकल प्रोजेक्ट में अपलोड करें: 
roboflow upload_model -w my-workspace -p my-project -t rfdetr-medium -n my-model-name -m ./ -f weights.pt
</code></pre>

## अगले चरण

1. Roboflow के "Models" टैब में अपना मॉडल देखें
2. अपने मॉडल को स्थानीय रूप से इस के साथ चलाएँ [Roboflow Inference Server](https://docs.roboflow.com/deployment/self-hosted/self-hosted).
3. समीक्षा करें [तैनाती विकल्प](https://docs.roboflow.com/deployment).
