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

# モデルを学習

## 概要

Roboflow のインターフェースでコンピュータビジョンモデルをトレーニングできます。

Roboflow には2つのトレーニングオプションがあります:

* Roboflow Custom Train: 本番利用可能なモデルの作成に最適な、当社の主力トレーニングサービスです。
* [Neural Architecture Search](/models/ja/xue-xi/neural-architecture-search.md): 新しいモデルアーキテクチャの探索とファインチューニングを同時に行えます。

また、最初の画像アノテーションのバッチを承認すると、 **Roboflow Instant Model** が自動的にトレーニングされます。これらのモデルは、オートラベリングやデプロイにすぐ使用できます。

Roboflow でトレーニングしたモデルは、オンデバイス推論サーバーである Inference、またはクラウド上では Serverless Hosted API と Workflows、Workflows を使ったバッチ処理、あるいはモデルの API エンドポイントを使ってデプロイできます。

{% hint style="info" %}
次をお読みください: [ライセンスに関するガイダンス](https://roboflow.com/licensing) Roboflow でトレーニングしたモデルのライセンスについて詳しく知ることができます。
{% endhint %}

## Webアプリ

### モデルを学習する

コンピュータビジョンモデルをトレーニングするには、プロジェクトのナビゲーションで「Train」を開きます。

<figure><img src="/files/7edea81af2d3fae574a62888e03e0a1cfda1edc1" alt=""><figcaption></figcaption></figure>

トレーニングジョブの設定を開始するには、「Custom Training」ボタンをクリックします:

<figure><img src="/files/70bda2e5dbd2bd59d1de669303d54b98c043b2a7" alt=""><figcaption></figcaption></figure>

#### ニューラルアーキテクチャサーチ（NAS）

物体検出およびインスタンスセグメンテーションのプロジェクトでは、 **ニューラルアーキテクチャサーチ（NAS）** 単一のモデルアーキテクチャを選択する代わりに、NAS を使用できます。NAS は複数のモデル構成を自動でトレーニングおよび評価し、精度とレイテンシ要件に基づいて最適なものを推奨します。

NAS を使用するには、トレーニングエンジンを選ぶ際に NAS オプションを選択してください。NAS には少なくとも15枚の検証画像が必要です。

NAS トレーニングチャートの詳細については、 [学習結果を表示](/models/ja/ping-si/training-results.md#nas-training-charts).

#### モデルアーキテクチャを選択

次に、モデルのアーキテクチャとサイズを選択する必要があります。これは、モデルのトレーニングに使用される機械学習技術です。

トレーニングできるモデルアーキテクチャは、設定したプロジェクトの種類によって異なります。以下を参照してください: [対応モデル表](/models/ja/supported-models.md) トレーニング互換性の詳細

物体検出では、RF-DETR が最高精度を提供します。インスタンスセグメンテーションでは、RF-DETR Seg（プレビュー）が最高精度です。キーポイント検出では、RF-DETR Keypoint（プレビュー）も利用できます。

モデルサイズは、選択するモデルのアーキテクチャによって異なります。たとえば、最先端の物体検出モデルである RF-DETR には Nano、Small、Medium、Base があります。Medium、Large、Extra Large は有料ユーザーのみ利用できます。トレーニングする [SAM3](/models/ja/supported-models/sam3.md) モデルは、以下を含む有料プランで利用できます: [従量課金](https://docs.roboflow.com/platform/billing-and-plans/credits)。そこから、SAM3 はアーキテクチャ一覧に「Request Feature」ボタン付きで表示され、アクセスを申請できます。

プロジェクトタイプで利用可能なアーキテクチャを選択し、「Continue」をクリックします:

<figure><img src="/files/3de1f90c30cc7de250866a467fc95a5a39d1051b" alt=""><figcaption></figcaption></figure>

#### チェックポイントを選択

トレーニングオプションを選択すると、チェックポイントからトレーニングするかどうかを尋ねられます。以下のタブには、各モデルタイプの設定オプションが表示されます。

{% tabs %}
{% tab title="物体検出" %}
選択肢は3つあります:

* **以前のチェックポイントからトレーニング:** すでに動作している改善したいモデルがある場合に最適です。
* **公開チェックポイントからトレーニング:** 最初のモデルや、以前のトレーニング結果が期待どおりでなかった場合に最適です。
* **ランダム初期化からトレーニング:** **上級者向け**、このオプションではまっさらな状態からトレーニングできます。ほとんどのユーザーはこのオプションを使うと結果が悪化します。
  {% endtab %}

{% tab title="分類/セマンティックセグメンテーション" %}
分類およびセマンティックセグメンテーションのモデルでは、利用可能なチェックポイントは1つだけです。
{% endtab %}
{% endtabs %}

<details>

<summary>どのトレーニングオプションを選べばよいですか?</summary>

新しい物体検出プロジェクトでは、公開チェックポイントからのトレーニングを推奨します。既定では、Microsoft COCO データセットでトレーニングされたモデルからのトレーニングを提供しています。分類とセマンティックセグメンテーションでは、ImageNet からのトレーニングのみサポートしています。

Universe 上でホストされているプロジェクトに基づくチェックポイントからトレーニングできます（物体検出のみ）。そのためには、まず [Universe でプロジェクトにスターを付ける](https://blog.roboflow.com/launch-universe-model-checkpoint/)。その後、そのプロジェクトは Roboflow の Web アプリケーションでトレーニングチェックポイントとして利用可能になります。

さらに、モデルの以前のバージョンに基づくチェックポイントからトレーニングできます（物体検出、インスタンスセグメンテーション、キーポイント検出のみ）。この方法では、より高速にトレーニングできます。以前のチェックポイントからのトレーニングは、モデルの性能が良好な場合にのみ推奨します）。

チェックポイントからトレーニングするということは、あなたが [転移学習](https://blog.roboflow.com/what-is-transfer-learning/)。転移学習では、選択したモデルを起点にモデルのトレーニングを開始します。これによりトレーニング時間を短縮し、トレーニングスコアを向上させることができます。

何もない状態からトレーニングするということは、あなたが *はここでは* 転移学習を用いないことを意味します。これにより、モデルの重みはランダムな初期値でトレーニングが開始されます。

</details>

#### トレーニングジョブを開始

トレーニング元のチェックポイントを選択したら、「Start Training」をクリックします。

その後、データセットは zip 圧縮され、Roboflow クラウドでのトレーニング用に準備されます。

トレーニング開始前に、トレーニング概要に推定所要時間とクレジットコストが表示されます:

<figure><img src="/files/921a582867605339ad65f7f6a72097186c6b314c" 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 の権限が必要です。

### 1つのバージョンで複数のモデルをトレーニング

同じデータセットバージョンで複数のモデルをトレーニングして、同一データに対してアーキテクチャやサイズを比較できます。各トレーニングは独立して実行・評価され、バージョンページにはすべてのトレーニングが一覧表示されるので、切り替えられます。

## HTTP API

プロジェクトに生成済みのデータセットバージョンがあれば、ホストされたモデルを生成するトレーニングジョブを予約できます。

### トレーニングジョブを開始

データセットバージョン上でトレーニングを開始します。データセットバージョンは URL パスの一部です。

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

**ボディ**

<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>文字列</td><td>アーキテクチャ識別子（例: <code>rfdetr-nano</code>, <code>yolov8</code>, <code>yolov11</code>）。無効な値を渡すと、エラーとして完全な一覧が返されます。</td><td>true</td></tr><tr><td><code>checkpoint</code></td><td>文字列</td><td>トレーニングを継続するための任意のチェックポイント。</td><td>false</td></tr><tr><td><code>epochs</code></td><td>整数</td><td>エポック数。</td><td>false</td></tr><tr><td><code>speed</code></td><td>文字列</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/ja/ping-si/training-results.md) またはバージョンの `model` フィールドにトレーニング済みモデルが表示されるのを確認します。

ここでもプランの制限は Web アプリと同様に適用されます。プランに要求したアーキテクチャが含まれていない場合、リクエストは `400` を返し、ジョブは開始されません: `nas_not_available_for_plan` の [NAS](/models/ja/xue-xi/neural-architecture-search.md) モデルタイプ、 `sam3_not_available_for_plan` の [SAM3](/models/ja/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")

# まだない場合は、前処理と拡張を含むバージョンを作成します。
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,      # トレーニング進捗のプロットを表示（ノートブックのみ）
)
```

### パラメータ

* `model_type` （str）- アーキテクチャ識別子。一般的な値: `rfdetr-nano`, `rfdetr-base`, `yolov8`, `yolov11`。プロジェクトタイプに依存します。無効な値を渡すと、エラーとして完全な一覧が返されます。
* `speed` （str、任意）- `"fast"` （既定）または `"accurate"`。accurate トレーニングは有料機能です。
* `checkpoint` （str、任意）- 再開元のチェックポイントの ID。
* `epochs` （int、任意）- エポック数。既定値はモデルタイプによって異なります。
* `plot_in_notebook` （bool、既定 `False`）- トレーニングの進捗をインライン表示します（ノートブックのみ）。

### トレーニング後

トレーニングが完了すると、 `バージョン`の `.model` プロパティはホストされたモデルを返します:

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

詳細は [画像上でモデルを実行](https://docs.roboflow.com/deployment/roboflow-cloud/serverless-api#python-sdk) を参照してください。推論の完全なリファレンスです。

## 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/ja/xue-xi/cancel-a-training-job.md).
* モデルのパフォーマンスを確認し、トレーニング結果を比較します。詳細は [学習済みモデルを評価](/models/ja/ping-si/evaluate-trained-models.md).
* モデルをホストされた API としてデプロイします。詳細は [サーバーレスAPI](https://docs.roboflow.com/deployment/roboflow-cloud/serverless-api).
