> 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/roboflow/roboflow-hi/deploy/upload-custom-weights.md).

# Custom Model Weights अपलोड करें

संबंधित पेज:

* Roboflow में मॉडल प्रशिक्षित करने के लिए देखें [एक Model Train करें](/roboflow/roboflow-hi/train/train.md)
* मॉडल वेट्स डाउनलोड करने के लिए देखें [Model Weights डाउनलोड करें](/roboflow/roboflow-hi/deploy/download-roboflow-model-weights.md)

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

अपना कस्टम मॉडल प्रशिक्षण पूरा करने के बाद, इसका लाभ लेने के लिए अपने मॉडल वेट्स को वापस अपने Roboflow project में अपलोड करें [Roboflow Inference](https://inference.roboflow.com/).

### Model Support

विवरण के लिए देखें [Supported Models table](/roboflow/roboflow-hi/deploy/supported-models.md) वेट्स अपलोड compatibility के बारे में।

{% hint style="warning" %}

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

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

{% hint style="info" %}
बड़े model sizes बेहतर training results प्रदान करते हैं। हालांकि, model size जितना बड़ा होगा, training time उतना ही धीमा होगा, और inference (model prediction) speed भी। इस पर विचार करें कि क्या आप तेज़ी से चलने वाली objects या video feeds पर real-time inference चाहते हैं (छोटे model का उपयोग बेहतर है), या आप data को इकट्ठा होने के बाद process कर रहे हैं, और अधिक prediction accuracy को प्राथमिकता दे रहे हैं (बड़ा model चुनें)।
{% endhint %}

### Versioned बनाम Versionless Models अपलोड

Roboflow आपके projects में models deploy करने के लिए दो अलग-अलग approaches प्रदान करता है, जिनमें से प्रत्येक अलग-अलग use cases और organizational needs को पूरा करता है। versioned और versionless deployments के बीच चुनाव इस बात पर निर्भर करता है कि क्या आपको dataset versions के साथ model evolution को track करना है, या आप अपने workspace के कई projects के बीच models share करना चाहते हैं।

* **Versionless Deployments**
  * workspace level से जुड़े हुए
  * एक साथ कई projects में deploy किए जा सकते हैं
  * एक ही workspace के भीतर अलग-अलग projects में models share करने के लिए आदर्श
* **Versioned Deployments**
  * विशिष्ट project versions से जुड़े हुए
  * प्रत्येक dataset version के लिए एक model
  * dataset versions के साथ model evolution को track करने के लिए आदर्श
  * Label Assist पर model का उपयोग करने के लिए आदर्श
  * अन्य models को train करने के लिए checkpoint के रूप में model उपयोग करने के लिए आदर्श

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

सबसे पहले, सुनिश्चित करें कि आपके पास latest `roboflow` Python package install है:

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

{% tabs %}
{% tab title="Python SDK (Versionless)" %}
versionless custom weights अपलोड करने के लिए, `workspace.deploy_model()` method का उपयोग करें:

```python
workspace.deploy_model(
    model_type="yolov8",  # model का प्रकार
    model_path="path/to/model",  # model directory का path
    project_ids=["project1", "project2"],  # project IDs की सूची
    model_name="my-model",  # model का नाम (कम से कम 1 अक्षर होना चाहिए, और numbers तथा dashes स्वीकार करता है)
    filename="weights/best.pt"  # weights file का path (default)
)
```

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

* model\_type (str): deploy किए जा रहे model का प्रकार (उदा., "yolov8", "yolov11")
* model\_path (str): model weights वाली directory का file path
* project\_ids (list\[str]): model को deploy करने के लिए project IDs की सूची
* model\_name (str): model की पहचान के लिए नाम - (कम से कम 1 अक्षर होना चाहिए, और numbers तथा dashes स्वीकार करता है)
* filename (str, optional): weights file का नाम (default "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"
)
```

{% endtab %}

{% tab title="Python SDK (Versioned)" %}
{% hint style="info" %}
एक versioned model को केवल एक संबंधित dataset version से लिंक किया जा सकता है। यदि आपके dataset में कोई version generated नहीं है, तो आप बना सकते हैं [इन-ऐप](/roboflow/roboflow-hi/datasets/dataset-versions/create-a-dataset-version.md) या [API](/developer/python-sdk/create-a-dataset-version.md).

इसके बारे में docs देखें [API के माध्यम से version load करने का तरीका](/developer/rest-api/versions/view-a-version.md) या नीचे दिए गए example को देखें।
{% endhint %}

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

**Usage**

```python
version.deploy(
    model_type="yolov8",  # model का प्रकार
    model_path="path/to/model",  # model directory का path
    filename="weights/best.pt"  # weights file का path (default)
)
```

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

* model\_type (str): deploy किए जाने वाले model का प्रकार (उदा., "yolov8", "yolov11")
* model\_path (str): model weights वाली directory का file path
* filename (str, optional): weights file का नाम (default "weights/best.pt" है)

**उदाहरण**

```python
from roboflow import Roboflow

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

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

#उदाहरण1 - directory path yolov8 model के लिए "training1/model1.pt" है
version.deploy("yolov8", "training1", "model1.pt")

#उदाहरण2 - directory path yolov8 model के लिए "training1/weights/best.pt" है
version.deploy("yolov8", "training1")
```

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

1. एक version में एक समय में केवल एक trained model हो सकता है
2. जिस version में पहले से model मौजूद है, उसमें upload करने का प्रयास करने पर 429 error मिलेगा
   {% endtab %}

{% tab title="CLI (Versionless और versioned)" %}
**प्रमाणीकरण**

किसी भी CLI command का उपयोग करने से पहले, आपको Roboflow के साथ authenticate करना होगा:

1. प्रमाणीकरण command चलाएँ: `roboflow login`
2. terminal में दिखाए गए URL पर जाएँ: <https://app.roboflow.com/auth-cli>
3. website से अपना authentication token प्राप्त करें
4. अपने terminal में token पेस्ट करें

credentials स्वतः सहेजे जाएँगे `~/.config/roboflow/config.json`

**Model Weights अपलोड करना**

Roboflow CLI एक command प्रदान करता है जो trained model weights को आपके Roboflow projects में अपलोड करती है। यह तब उपयोगी है जब आप custom-trained models को Roboflow पर deploy करना चाहते हैं।

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

{% 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`: आपका workspace ID या URL (optional - यदि निर्दिष्ट नहीं किया गया, तो default workspace उपयोग होगा)
* `-p, --project`: project ID जिसमें model upload करना है (versionless upload के लिए multiple projects के लिए इसे कई बार निर्दिष्ट किया जा सकता है)
* `-t, --model_type`: model का प्रकार (उदा., yolov8, paligemma2)
* `-m, --model_path`: trained model file वाली directory का path
* `-v, --version_number`: वह version number जिसमें model upload करना है (optional)
* `-f, --filename`: model file का नाम (default: "weights/best.pt")
* `-n, --model_name`: model का नाम (versionless model deploy के लिए आवश्यक)

**उदाहरण**

<pre class="language-bash" data-overflow="wrap"><code class="lang-bash"># 1. किसी विशिष्ट version में model upload करें: 
<strong>roboflow upload_model -w my-workspace -p my-project -v 1 -t yolov8 -m ./weights
</strong>
# 2. versionless model को multiple projects में upload करें:
roboflow upload_model -w my-workspace -p project1 -p project2 -t yolov11 -n my-model-v1 -m ./weights
# 3. versionless RF-DETR medium model को एक single project में upload करें: 
roboflow upload_model -w my-workspace -p my-project -t rfdetr-medium -n my-model-name -m ./ -f weights.pt
</code></pre>

{% endtab %}
{% endtabs %}

## अगले चरण

1. Roboflow के "Models" tab में अपना model देखें
2. अपना model स्थानीय रूप से चलाएँ [Roboflow Inference Server के साथ](https://inference.roboflow.com/).
3. [अपने model को deploy करें](/roboflow/roboflow-hi/deploy/deployment-overview.md)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.roboflow.com/roboflow/roboflow-hi/deploy/upload-custom-weights.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
