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

# カスタム Model Weights をアップロード

関連ページ:

* Roboflowでモデルをトレーニングするには、 [モデルを学習する](/roboflow/roboflow-jp/train/train.md)
* モデルの重みをダウンロードするには、 [Model Weights をダウンロード](/roboflow/roboflow-jp/deploy/download-roboflow-model-weights.md)

## Roboflow外でトレーニングした重みのアップロード

カスタムモデルのトレーニングが完了したら、モデルの重みをRoboflow projectにアップロードして、次の機能を活用してください [Roboflow Inference](https://inference.roboflow.com/).

### モデル対応

次を参照してください: [Supported Models table](/roboflow/roboflow-jp/deploy/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 %}

### VersionedモデルとVersionlessモデルのアップロード

Roboflowでは、projectsにモデルをデプロイするための2つの異なる方法を提供しており、それぞれが異なるユースケースと組織のニーズに対応しています。versioned と versionless のどちらを選ぶかは、dataset version と合わせてモデルの変遷を追跡したいのか、それとも workspace 内の複数の project でモデルを共有したいのかによって決まります。

* **Versionlessデプロイ**
  * workspace レベルに紐づく
  * 複数の projects に同時にデプロイできます
  * 同じ workspace 内の異なる project 間でモデルを共有するのに最適です
* **Versionedデプロイ**
  * 特定の project version に紐づく
  * dataset version ごとに1つのモデル
  * dataset version と合わせてモデルの変遷を追跡するのに最適です
  * Label Assist でモデルを使用するのに最適です
  * 他のモデルをトレーニングするための checkpoint としてモデルを使用するのに最適です

### カスタム重みをアップロード

まず、最新の `roboflow` Python package がインストールされていることを確認してください:

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

{% tabs %}
{% tab title="Python SDK（Versionless）" %}
Versionless のカスタム重みをアップロードするには、次を使用します: `workspace.deploy_model()` メソッド:

```python
workspace.deploy_model(
    model_type="yolov8",  # モデルの種類
    model_path="path/to/model",  # モデルディレクトリへのパス
    project_ids=["project1", "project2"],  # project ID のリスト
    model_name="my-model",  # モデル名（少なくとも1文字の英字を含み、数字とハイフンを使用できます）
    filename="weights/best.pt"  # 重みファイルへのパス（デフォルト）
)
```

**パラメータ**

* model\_type (str): デプロイするモデルの種類（例: "yolov8", "yolov11"）
* model\_path (str): モデルの重みを含むディレクトリへのファイルパス
* project\_ids (list\[str]): モデルをデプロイする project ID のリスト
* model\_name (str): モデルを識別するための名前 - （少なくとも1文字の英字を含み、数字とハイフンを使用できます）
* filename (str, optional): 重みファイル名（デフォルトは "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" %}
1つの versioned model は、対応する dataset version 1つにのみリンクできます。dataset に version が生成されていない場合は、次の方法で作成できます [アプリ内で](/roboflow/roboflow-jp/datasets/dataset-versions/create-a-dataset-version.md) または次を通じて [API](/developer/python-sdk/create-a-dataset-version.md).

次のドキュメントを参照してください: [API を使って version を読み込む方法](/developer/rest-api/versions/view-a-version.md) または以下の例を参照してください。
{% 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, optional): 重みファイル名（デフォルトは "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)

#例1 - ディレクトリパスは yolov8 モデルの場合 "training1/model1.pt" です
version.deploy("yolov8", "training1", "model1.pt")

#例2 - ディレクトリパスは yolov8 モデルの場合 "training1/weights/best.pt" です
version.deploy("yolov8", "training1")
```

**重要な注意事項**

1. 1つの version には一度に1つの学習済みモデルしか配置できません
2. すでにモデルがある version にアップロードしようとすると、429 エラーになります
   {% endtab %}

{% tab title="CLI（Versionless と Versioned）" %}
**認証**

CLI コマンドを使用する前に、Roboflow で認証する必要があります:

1. 認証コマンドを実行します: `roboflow login`
2. ターミナルに表示された URL にアクセスします: <https://app.roboflow.com/auth-cli>
3. Webサイトから認証トークンを取得します
4. トークンをターミナルに貼り付けます

認証情報は自動的に次に保存されます: `~/.config/roboflow/config.json`

**モデルの重みをアップロード**

Roboflow CLI には、学習済みモデルの重みを Roboflow の projects にアップロードするためのコマンドがあります。これは、カスタム学習したモデルを 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`: あなたの workspace ID または URL（任意。指定しない場合はデフォルトの workspace を使用します）
* `-p, --project`: モデルをアップロードする project ID（versionless アップロードでは、複数の project に対して複数回指定できます）
* `-t, --model_type`: モデルの種類（例: yolov8, paligemma2）
* `-m, --model_path`: 学習済みモデルファイルを含むディレクトリへのパス
* `-v, --version_number`: モデルをアップロードする version 番号（任意）
* `-f, --filename`: モデルファイル名（デフォルト: "weights/best.pt"）
* `-n, --model_name`: モデル名（versionless モデルのデプロイでは必須）

**例**

<pre class="language-bash" data-overflow="wrap"><code class="lang-bash"># 1. モデルを特定の version にアップロードする: 
<strong>roboflow upload_model -w my-workspace -p my-project -v 1 -t yolov8 -m ./weights
</strong>
# 2. versionless モデルを複数の project にアップロードする:
roboflow upload_model -w my-workspace -p project1 -p project2 -t yolov11 -n my-model-v1 -m ./weights
# 3. versionless RF-DETR medium モデルを単一の project にアップロードする: 
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」タブでモデルを確認してください
2. 次を使ってモデルをローカルで実行します: [Roboflow Inference Server](https://inference.roboflow.com/).
3. [モデルをデプロイする](/roboflow/roboflow-jp/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-jp/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.
