> 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/train/neural-architecture-search.md).

# Neural Architecture Search

<figure><img src="/files/a01b1dc4b201c1ad0f96b1a47983f577a13f92a2" alt="NAS results page showing a Pareto frontier of trained models plotted across latency and accuracy."><figcaption><p>NASの結果ページには、速度と精度のパレートフロンティア上のすべての学習済みモデルが表示されます。</p></figcaption></figure>

RoboflowのNeural Architecture Search (NAS)は、あなたのデータセット上で多数のモデルアーキテクチャを自動的に学習し、速度と精度のトレードオフ曲線に沿って最適な選択肢を提示する強力な新機能です。従来のモデル学習戦略よりも低いモデル1件あたりのコストで、多くのモデル विकल्पを生成して選択できるようにします。

で説明されているように [RF-DETR論文で](https://arxiv.org/html/2511.09554v2)、このNeural Architecture Search戦略によってRF-DETRのSOTAモデルアーキテクチャが生み出されました。Roboflowはこの戦略をすべてのRoboflow顧客に提供し、誰でも自分のユースケース向けにSOTAモデルを作成できるようにしています。

Neural Architecture Search:

* データ特性に基づいて、ユースケースに最も適したモデルアーキテクチャを特定します
* そのアーキテクチャをあなたのデータでファインチューニングします
* 5,000以上の構成をテストし、各レイテンシーポイントで精度が最適化された10〜100個の学習済みモデルを生成します。

{% embed url="<https://youtu.be/ZtGXkuo1qiE>" %}

## Neural Architecture Search を使うタイミング

本番環境に投入するモデルを選ぶとき、NASはほぼ常に実行する価値があります。パレートフロンティア上の各マイニング済みモデルはあなたのデータで完全に学習されているため、単にサイズを選ぶのではなく、特定のデプロイ先に最適な速度/精度のトレードオフを選べます。実際の顧客実行では、NASは同じレイテンシーで単一のRF-DETR Mediumのファインチューニングを常に上回り、しばしば大きく上回ります。

次のような場合はNASを使ってください：

* 一定のレイテンシー予算でより高い精度が必要な場合、または一定の精度目標でより低いレイテンシーが必要な場合。
* 本番環境向けのモデルを準備しており、速度/精度曲線に沿った選択肢を比較したい場合。
* 本来ならハイパーパラメータ探索を行うか、複数のモデルサイズを連続して学習させる場合。
* 最先端の性能が必要な場合。

次の場合はNASは過剰かもしれません：

* ユースケースが単純で、「十分良い」モデルで足りる場合（例：明るい環境で人を検出する）。探索的または初期段階のプロジェクトでは、通常は単一のファインチューニングが適切です。
* CPU のみでデプロイする予定である場合。
* 最大のRF-DETRチェックポイント（例：RF-DETR XXL）だけが欲しく、小さいトレードオフ点には関心がない場合。

## 料金、クレジット、プランの利用可否

NASは、使用量ベース課金を含むすべての有料Roboflowプランで利用できます。Trial、Free、PublicプランのユーザーはNASにアクセスできません。使用量ベース課金のない旧プランでは、NAS実行を開始する前に有効化を求められます。

NASの実行は標準のRoboflow学習料金で課金されます — **学習時間30分ごとに1クレジット** — 他の学習ジョブと同じ時間単価です。1回の実行で数十個の学習済みモデルが生成されるため、コスト *モデル1件あたりの* は個別にそれぞれ学習させるより低くなりますが、単一のNASジョブ全体で消費するクレジットは、単一のファインチューニングより高くなります。

目安となる典型的な範囲：

* 約2,500枚の画像を含む物体検出データセットでは、一般的に約18時間（約36クレジット）かかります。
* **Instance Segmentation NAS** は物体検出NASよりもGPU負荷が高く、実行時間はおおよそ1.5〜2倍長くなると見込んでください。

Train UIでは、開始前に推定所要時間とクレジットコストが表示されます。推定が1日の学習を超える場合、ジョブ開始前に確認が求められます。

{% hint style="warning" %}
workspaceでflex billingが無効になっており、含まれているクレジットが実行途中で尽きた場合、NASは自動的に停止します。含まれているクレジット残高に関係なく実行を完了させたい場合は、開始前にflex billingを有効にしてください。
{% endhint %}

## NAS vs. YOLO-NAS

{% hint style="info" %}
ここで説明する「Neural Architecture Search」エンジンは、次のものとは異なります **YOLO-NAS**、Roboflowのモデル一覧にも表示される単一のYOLOベースのアーキテクチャです。NASを使うためにアップグレードした場合は、 **Neural Architecture Search** Trainページでエンジンを選択してください — YOLO-NASモデルアーキテクチャではありません。
{% endhint %}

Roboflow NASは、バックボーンにより多くの世界知識を取り込んだRF-DETRを使うことで、より強固な基盤から始まります。そこからNASはデータセットに合わせてアーキテクチャを調整します — 例えば、データがデコーダ層の少ないモデルから恩恵を受ける場合、NASはそのアーキテクチャを自動的に見つけて提供できます。

## 対応タスクと既知の制限

NASは現在次をサポートしています：

* Object Detection
* インスタンスセグメンテーション

その他の現時点での制限：

* 生の重み（`.pt`, `.onnx`、など）はサードパーティの推論サーバーで使用するためにダウンロードできません。NASモデルは Roboflow Serverless Hosted API、Dedicated Deployments、Workflows、Batch Processing、およびセルフホスト環境で実行されます [Roboflow Inference](https://inference.roboflow.com/install/)。NASの重みをダウンロードして実行するには、Roboflow Inference を推奨します。
* NASで発見されたモデルの重みは、Roboflowの [Platform Model License](https://roboflow.com/platform-model-license-1-0)に基づいてライセンスされており、有効な状態のRoboflowアカウントを保持している必要があります。

## NASの学習実行を開始する

{% stepper %}
{% step %}
**Trainタブを開き、Neural Architecture Searchエンジンを選択します**

プロジェクトのTrainタブを開き（ `https://app.roboflow.com/YOUR_WORKSPACE/YOUR_PROJECT_NAME/train`）、 **Neural Architecture Search** エンジンを選択します。

<figure><img src="/files/3b7759f9646d2019c20cbdcdb5238ee3e7bcd3eb" alt="Train tab engine selector with Neural Architecture Search highlighted."><figcaption><p>TrainタブでNeural Architecture Searchエンジンを選択します。</p></figcaption></figure>
{% endstep %}

{% step %}
**バックボーンを選択**

複数のモデルバリアントがあるプロジェクトタイプ（例：物体検出ではStandardとPlus）では、続行する前にバックボーンを選択する必要があります。ユースケースに合うバリアントをクリックしてください。単一のバリアントしかないプロジェクトタイプ（例：Instance Segmentation）では、これは自動的に選択されます。
{% endstep %}

{% step %}
**データセットバージョンを選択または作成**

既存のデータセットバージョンを選ぶか、新しいものを作成してください。いくつかヒントがあります：

* NAS学習では、データセットにaugmentationを追加することは推奨しません。
* 検証分割には少なくとも **15枚の画像**が必要です。NASは安定したパレートフロンティアを見つけるために十分な検証データを必要とします。検証画像が15枚未満の学習リクエストはAPIによって拒否されます。

<figure><img src="/files/2496610276462ec623f942a9f25096bf33659273" alt="Dataset version selector for a NAS training run."><figcaption><p>NAS実行用のデータセットバージョンを選択または作成します。</p></figcaption></figure>
{% endstep %}

{% step %}

#### バックボーンを選択（物体検出のみ）

物体検出プロジェクトでは、2つのバックボーンオプションから選べます：

* **標準** - より高速に学習し、より高速なモデルを見つけます。エッジデバイスへのデプロイを予定している場合に最適です。
* **Plus** - より高精度なモデルを見つけます。クラウドGPUでデプロイする予定の場合に最適です。

Instance Segmentationプロジェクトでは単一のバックボーンを使用し、この手順は省略されます。
{% endstep %}

{% step %}
**Start training**

クリック **Start Training** で実行を開始します。

<figure><img src="/files/0ec1b724df2b587917786a8e2b5f285314ac0064" alt="Start Training button on the NAS configuration page."><figcaption><p>設定ページからNASの実行を開始します。</p></figcaption></figure>
{% endstep %}
{% endstepper %}

## NAS結果ページの読み方

<figure><img src="/files/a01b1dc4b201c1ad0f96b1a47983f577a13f92a2" alt="NAS results page with purple dots representing trained models along the Pareto frontier."><figcaption><p>紫の点は、それぞれデプロイ可能な学習済みモデルです。</p></figcaption></figure>

結果ページには、NASがあなたのデータ上でマイニングして学習したすべてのモデルが、パレートフロンティアに沿ってプロットされています — 各レイテンシーポイントで見つかった最良のモデルです。紫の点はどれも、デプロイできる完全に学習済みのモデルです。マイニングが進むにつれてフロンティアはリアルタイムで更新されるため、完全な実行が終わる前に候補の評価を始められます。

**指標を選ぶ。** F1、mAP\@50、mAP\@50:95 を切り替えて、ユースケースで重要な指標に対してフロンティアを評価します。指標によってフロンティア上に異なるモデルが現れることがありますが、これは想定どおりです。本番環境でモデルをどう評価するかに最も近い指標を選び、目標レイテンシーで最良のモデルを選んでください。多くのユースケースではF1を推奨します。

**モデルにスターを付ける。** 使いたいモデルにはすべてスターを付けられます。スター付きモデルはWorkflowのモデルピッカーに表示され、スターなしのモデルは結果ページには残りますが、見やすさを保つためピッカーでは非表示になります。好きなだけスターを付けても、まったく付けなくても構いません — スター付けは無料で、いつでも元に戻せます。

**スター付きモデルの使用。** 他のRoboflowモデルと同じように、Workflowのモデルブロックを使って選択します。

NASが実行中に表示するライブ学習チャート（Training Progress Band と Epoch Snapshot ビュー）については、 [View Training Results](/roboflow/roboflow-jp/train/training-results.md).

## NAS実行の停止

NASジョブには2つのフェーズがあります — **学習** と **マイニング** — が同じジョブ内で連続して実行されます。実行を停止する方法は2つあります：

* **早期停止** （現在のフロンティアに満足している場合に推奨）。フェーズに応じて "Stop Training Early" または "Stop Mining" をクリックします。その時点までにマイニングされたモデルは保持され、デプロイできます。完了した作業に対して使用されたクレジットは請求されます。詳細は [Early Stopping](/roboflow/roboflow-jp/train/stop-training-early.md) をご覧ください。
* **Cancel** （実行を完全に放棄したい場合）。"Cancel Training" をクリックします。重みは保存されませんが、ジョブの早い段階でキャンセルした場合はクレジットが返金されます。詳細は [学習ジョブをキャンセルする](/roboflow/roboflow-jp/train/cancel-a-training-job.md).

{% hint style="info" %}
NAS実行は、モデルが収束したとき、つまりすべての対象エポックが終わる前にピーク性能に達したときにも自動的に停止します。結果ページのバナーでそれが起きたことが示されます。あなた側での対応は不要です。
{% endhint %}

## NASで発見したモデルのデプロイ

NASで発見したモデルは、他のRoboflowで学習したモデルと同じようにデプロイできます。次の環境で実行できます：

* **Roboflow Serverless Hosted API** （下のコード例を参照）。
* **Dedicated Deployments** より高いスループットまたは予約済みキャパシティのために。
* **Workflows** と **Batch Processing** Visionパイプラインの構築と実行に。
* **セルフホスト** [**Roboflow Inference**](https://inference.roboflow.com/install/) 自分のハードウェア上で（Docker、edge、またはcloud）。

### Roboflow InferenceでNASモデルをローカル実行する

インストールして起動 [Roboflow Inference](https://inference.roboflow.com/install/) をあなたのハードウェア上で実行し、次に `inference-sdk` に `http://localhost:9001` そして、他のRoboflowモデルと同じようにNASモデルIDを指定して呼び出します。以下のコード例は、ホストされたエンドポイントとローカルのInferenceサーバーの両方で使えます — 置き換えるのは `api_url`.

### Roboflow Serverless Hosted API

{% tabs %}
{% tab title="Python (requests)" %}

```python
import base64

import requests

API_KEY = "roboflow-API-KEY"
MODEL_ID = "your-workspace/the-model-id-here"
IMAGE_PATH = "your_image_path.png"

with open(IMAGE_PATH, "rb") as f:
    image_data = base64.b64encode(f.read()).decode("utf-8")

response = requests.post(
    f"https://serverless.roboflow.com/{MODEL_ID}",
    params={"api_key": API_KEY},
    headers={"Content-Type": "application/x-www-form-urlencoded"},
    data=image_data,
)

print(response.json())
```

{% endtab %}

{% tab title="Python (inference-sdk)" %}
依存関係をインストールするには、 `pip install inference-sdk`.

```python
from inference_sdk import InferenceHTTPClient

CLIENT = InferenceHTTPClient(
    api_url="https://serverless.roboflow.com",
    api_key="roboflow-API-KEY"
)

result = CLIENT.infer("your_image_path.png", model_id="your-workspace/the-model-id-here")
print(result)
```

{% endtab %}

{% tab title="cURL" %}
**Linux または MacOS**

次の名前のローカルファイルの JSON 予測を取得するには `your_image_path.png`:

```bash
base64 your_image_path.png | curl -d @- \\
"https://serverless.roboflow.com/your-workspace/the-model-id-here?api_key=roboflow-API-KEY"
```

Web 上の別の場所でホストされている画像の URL を使って推論するには（忘れずに [URL エンコードする](https://www.urlencoder.org/)):

```bash
curl -X POST "https://serverless.roboflow.com/your-workspace/the-model-id-here?\\
api_key=roboflow-API-KEY&\\
image=https%3A%2F%2Fi.imgur.com%2FPEEvqPN.png"
```

{% endtab %}

{% tab title="Javascript" %}
**Node.js**

ここでは [axios](https://github.com/axios/axios) この例で POST リクエストを実行するために使用しているので、まず `npm install axios` を実行して依存関係をインストールします。

**ローカル画像での推論**

```javascript
const axios = require("axios");
const fs = require("fs");

const image = fs.readFileSync("your_image_path.png", {
    encoding: "base64"
});

axios({
    method: "POST",
    url: "https://serverless.roboflow.com/your-workspace/the-model-id-here",
    params: {
        api_key: "roboflow-API-KEY"
    },
    data: image,
    headers: {
        "Content-Type": "application/x-www-form-urlencoded"
    }
})
.then(function(response) {
    console.log(response.data);
})
.catch(function(error) {
    console.log(error.message);
});
```

**URL を使って Web 上の別の場所にホストされている画像で推論するには**

```javascript
const axios = require("axios");

axios({
    method: "POST",
    url: "https://serverless.roboflow.com/your-workspace/the-model-id-here",
    params: {
        api_key: "roboflow-API-KEY", 
        image: "https://i.imgur.com/PEEvqPN.png"
    }
})
.then(function(response) {
    console.log(response.data);
})
.catch(function(error) {
    console.log(error.message);
});
```

{% endtab %}
{% endtabs %}


---

# 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/train/neural-architecture-search.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.
