> 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: 本番運用向けモデルの作成に最適な、当社の主力学習サービスです。
* [ニューラルアーキテクチャ探索](/models/ja/xue-xi/neural-architecture-search.md): 新しいモデルアーキテクチャを発見し、同時に微調整できます。

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

Roboflow で学習したモデルは、オンデバイス推論サーバーの Inference、または Serverless Cloud 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 には少なくとも 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>

#### クレジット上限を設定

1 回の学習で消費できるクレジット数を制限できます。学習オプションの「Credit Cap」に数値を入力するか、上限なしで実行するには空欄のままにしてください。上限を設定するには、 [使用量ベースの課金](https://docs.roboflow.com/platform/billing-and-plans/credits).

実行が上限に達すると、Roboflow はそれを停止し、モデル重みを保持します。これは [学習を早期停止する](/models/ja/xue-xi/cancel-a-training-job.md)のと同じです。ジョブの実行中は、学習で上限付きクレジットをどれだけ使用したかが表示されます。

各モデルには最小上限があり、入力欄の下に表示されます。最小値は、モデルを生成できる最短実行のコストであるため、それより小さい上限は拒否されます。見積もりコストを下回る上限は設定できますが、その場合、実行は完了前に停止する可能性が高くなります。

[ニューラルアーキテクチャ探索](/models/ja/xue-xi/neural-architecture-search.md) では、学習とアーキテクチャ探索は別々に課金されるため、上限も 2 つあります: 「Training Credit Cap」と「Search Credit Cap」。どちらか一方を設定すると、もう一方のフェーズは上限なしになります。

上限付きの実行がクレジットを残して停止した場合は、続行できます。新しい実行では、上限内で残りの分を使用できます。残りがモデルの最小値より少ない場合は、代わりに新しい学習を開始してください。

#### 学習ジョブを開始

学習元のチェックポイントを選択したら、「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/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>string</td><td>アーキテクチャ識別子（例: <code>rfdetr-nano</code>, <code>yolov8</code>, <code>yolov11</code>）。無効な値を渡すと、エラーとして完全な一覧が返されます。</td><td>true</td></tr><tr><td><code>checkpoint</code></td><td>string</td><td>学習を継続するための任意のチェックポイント。</td><td>false</td></tr><tr><td><code>epochs</code></td><td>integer</td><td>エポック数。</td><td>false</td></tr><tr><td><code>speed</code></td><td>string</td><td><code>fast</code> （デフォルト）または <code>accurate</code>. <code>accurate</code> は有料機能です。</td><td>false</td></tr><tr><td><code>trainingCreditCap</code></td><td>number</td><td>停止されるまでに学習が消費できる最大クレジット数。モデルの最小値以上である必要があります。</td><td>false</td></tr><tr><td><code>nasMiningCreditCap</code></td><td>number</td><td>NAS のアーキテクチャ探索が消費できる最大クレジット数。NAS モデルタイプでのみ有効です。</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` フィールドを監視して、学習済みモデルが表示されるのを待ちます。

バージョンが学習可能な状態でない場合、リクエストは `400` を `コード` と `対処法` フィールド付きで返します。対処法には修正内容が示されるため、スクリプトやエージェントがメッセージを読む必要はありません: `rebalance` （画像数は足りているが、分割の配置が不適切な場合） `upload` （データセットに画像がさらに必要な場合） `annotate` （画像にラベルが必要な場合） `regenerate` （バージョン生成に失敗したため、新しいバージョンを生成する必要がある場合）、または `wait` （再バランスまたは生成がまだ実行中の場合）。プラン上の制限など、データに関するものでないエラーには対処法はありません。 `対処法`.

プラン制限は 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) モデルタイプ。

モデルの最小値を下回るクレジット上限、またはクレジット課金を行わないワークスペースでの上限設定は、 `400` を `invalid_credit_cap`というコード付きで返します。エラーメッセージには最小値が示されます。

呼び出し元の 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, optional) - `"fast"` （デフォルト）または `"accurate"`。正確さ重視の学習は有料機能です。
* `checkpoint` (str, optional) - 再開元となるチェックポイントの ID。
* `epochs` (int, optional) - エポック数。デフォルトはモデルタイプに依存します。
* `plot_in_notebook` (bool, default `False`) - 学習の進行状況をインライン表示します（ノートブックのみ）。

### 学習後

学習が完了すると、 `Version`の `.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
なしで）
```

#### オプション

| フラグ               | 説明                                 |
| ----------------- | ---------------------------------- |
| `-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
}
```

## MCP サーバー

AI エージェントを [MCP サーバー](https://docs.roboflow.com/agents/mcp-server) に接続すると、以下のツールでモデルを学習できます:

<table data-search="false"><thead><tr><th width="290">ツール</th><th>説明</th></tr></thead><tbody><tr><td><code>trainings_describe_recipe</code></td><td>モデルタイプの調整オプションを説明し、すぐに送信できるレシピを返します。</td></tr><tr><td><code>trainings_create</code></td><td>データセットバージョンで学習実行を開始します。</td></tr><tr><td><code>trainings_get</code></td><td>学習のステータス、生成されたモデル、およびメトリクスを取得します。</td></tr><tr><td><code>trainings_list</code></td><td>データセットバージョン上の学習実行を一覧表示します。</td></tr></tbody></table>

## 次のステップ

* [学習ジョブを停止またはキャンセルする](/models/ja/xue-xi/cancel-a-training-job.md).
* モデルの性能を確認し、学習実行を比較します。こちらを参照 [学習済みモデルを評価する](/models/ja/ping-si/evaluate-trained-models.md).
* モデルをデプロイするには [Serverless Cloud API](https://docs.roboflow.com/deployment/roboflow-cloud/serverless-api).
