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

# カスタムモデルの重みをアップロード

関連ページ：

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

## Roboflow 外でトレーニングされた重みをアップロードする

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

### モデル対応

を参照してください。 [Supported Models テーブル](/roboflow/roboflow-jp/depuroi/supported-models.md) 重みアップロードの互換性の詳細については、

{% hint style="warning" %}

* YOLOv8 モデルは次でトレーニングする必要があります。 `ultralytics==8.0.196`
* YOLOv9 モデルは次を使用してトレーニングおよびアップロードする必要があります。 `ultralytics` from <https://github.com/WongKinYiu/yolov9>
* YOLOv10 モデルは次を使用してトレーニングおよびアップロードする必要があります。 `ultralytics` from

  <https://github.com/THU-MIG/yolov10>
* YOLOv11 モデルは次でトレーニングする必要があります。 `ultralytics<=8.3.40`
* YOLOv12 モデルは次を使用してトレーニングおよびアップロードする必要があります。 `ultralytics` from <https://github.com/sunsmarterjie/yolov12>
  {% endhint %}

{% hint style="info" %}
より大きいモデルサイズは、より良いトレーニング結果をもたらします。ただし、モデルサイズが大きいほど、トレーニング時間と推論（モデル予測）速度は遅くなります。高速で動くオブジェクトや動画フィードに対してリアルタイム推論を行いたいのか（小さいモデルを使うのが適しています）、それとも収集後のデータを処理し、より高い予測精度を重視するのか（大きいモデルを選択してください）を検討してください。
{% endhint %}

### バージョン付きモデルとバージョンなしモデルのアップロード

Roboflow では、project に model をデプロイするための 2 つの異なるアプローチを提供しており、それぞれが異なるユースケースと組織上のニーズに対応しています。バージョン付きデプロイとバージョンなしデプロイのどちらを選ぶかは、dataset の version と合わせて model の進化を追跡する必要があるか、または workspace 内の複数の project 間で model を共有したいかによって決まります。

* **バージョンなしデプロイ**
  * workspace レベルに紐づく
  * 複数の project に同時にデプロイできる
  * 同じ workspace 内の異なる project 間で model を共有するのに最適
* **バージョン付きデプロイ**
  * 特定の project version に紐づく
  * A [Version](/roboflow/roboflow-jp/xue-xi/versions-trainings-and-models.md) には複数のアップロード済み model を含めることができる
  * dataset の version と合わせて model の進化を追跡するのに最適
  * Label Assist で model を使用するのに最適
  * 他の model をトレーニングするための checkpoint として model を使用するのに最適

### Custom Weights をアップロード

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

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

{% tabs %}
{% tab title="Python SDK（バージョンなし）" %}
バージョンなしの custom weights をアップロードするには、 `workspace.deploy_model()` メソッドを使用します：

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

**パラメーター**

* model\_type (str): デプロイする model の種類（例："yolov8", "yolov11"）
* model\_path (str): model weights を含むディレクトリへのファイルパス
* project\_ids (list\[str]): model をデプロイする project ID の一覧
* model\_name (str): model を識別するための名前（少なくとも 1 文字を含み、数字とダッシュを使用できます）
* filename (str, optional): weights ファイル名（デフォルトは "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（バージョン付き）" %}
{% hint style="info" %}
バージョン付き custom-weights アップロードでは、アップロードした各 model が dataset version に関連付けられます。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 %}

custom weights をアップロードするには、 `version.deploy()` を Python SDK で使用します。

**Usage**

```python
version.deploy(
    model_type="yolov8",  # model の種類
    model_path="path/to/model",  # model ディレクトリへのパス
    filename="weights/best.pt"  # weights ファイルへのパス（デフォルト）
)
```

**パラメーター**

* model\_type (str): デプロイする model の種類（例："yolov8", "yolov11"）
* model\_path (str): model weights を含むディレクトリへのファイルパス
* filename (str, optional): weights ファイル名（デフォルトは "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 - 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")
```

**重要な注意事項**

{% hint style="info" %}
1 つの version に複数のアップロード済み model を含めることができます。 [Versions, Trainings, and Models](/roboflow/roboflow-jp/xue-xi/versions-trainings-and-models.md) version 上の model の参照方法については、
{% endhint %}
{% endtab %}

{% tab title="CLI（バージョンなしおよびバージョン付き）" %}
**認証**

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

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

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

**Model Weights のアップロード**

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

**例**

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