> 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/reference/ja/tui-lun/inference-python.md).

# 推論用Pythonパッケージ

この `推論` Python パッケージは、Roboflow のコンピュータービジョンデプロイメントスタックを支える中核のオープンソースライブラリです。モデルの読み込み、前処理/後処理、GPU/CPU 最適化を提供し、 [Workflows](https://docs.roboflow.com/workflows) 実行を、Python から直接呼び出せます。

この [Inference Server](https://docs.roboflow.com/deployment/self-hosted/inference-server) このパッケージをラップして HTTP 経由で公開します（すべての依存関係をインストール済みの Docker イメージとして配布されます）が、また `推論` 自分のスクリプトやアプリケーション内で直接使用できます。

## 各要素の連携

Inference には、コンピュータービジョンモデルを提供するために連携して動作する複数のコンポーネントがあります：

* [**推論**](/reference/ja/tui-lun/inference-python.md) - モデルの読み込み、推論、Workflows の実行を行う中核 Python パッケージ。
* [**inference-sdk**](/reference/ja/tui-lun/inference-sdk.md) - HTTP 経由で Inference Server と通信するための軽量な Python クライアント。
* [**inference-cli**](/reference/ja/tui-lun/inference-cli.md) - Inference Server を管理し、一般的なタスクを実行するためのコマンドラインツール。
* [**Inference Server**](https://docs.roboflow.com/deployment/self-hosted/inference-server) - 次をラップする HTTP サーバー（Docker）： `推論` パッケージを REST API として。

これらの要素が実行時にどのように動作するか（リクエストルーティング、並列化、マイクロサービスおよびアプライアンスのパターン）については、 [Inference Architecture](https://docs.roboflow.com/deployment/self-hosted/inference-server/architecture).

## マルチバックエンド対応

Inference 1.0 は、ONNX、TensorRT、Hugging Face、PyTorch という複数の推論ランタイムバックエンドをサポートします。ハードウェアで利用可能な最速のバックエンドを自動的に選択します。たとえば、NVIDIA GPU を搭載している場合や Jetson デバイス上で実行していて、プラットフォーム上のそのモデルに利用可能な TensorRT エンジンがある場合、Inference は既定で TensorRT を使用します。

## インストール

次のものを使用することを推奨します： [Python 仮想環境 (venv)](https://docs.python.org/3/tutorial/venv.html) Inference の依存関係を分離するために。

pip で Inference をインストールするには：

```bash
pip install inference
```

NVIDIA GPU がある場合は、次の方法で推論を高速化できます：

```bash
pip install --extra-index-url https://download.pytorch.org/whl/cu124 inference-gpu
# --extra-index-url は、OS にインストールされている CUDA のバージョンに合わせて調整してください
# https://download.pytorch.org/whl/cu<major><minor>。たとえば、CUDA 13.0 の場合は https://download.pytorch.org/whl/cu130
```

## 簡単な例

HTTP 経由で Inference Server に対して推論を実行することも（ `inference-sdk`）または、ネイティブの `推論` パッケージ）。ネイティブの `get_model()` 呼び出しはモデルをスクリプトに読み込み、呼び出せるオブジェクトを返します `.infer()` 。HTTP クライアントは画像を同じ処理を行うサーバーへ送信します。

{% tabs %}
{% tab title="inference（ネイティブ）" %}

```python
from inference import get_model

model = get_model(model_id="rfdetr-small")
results = model.infer("https://media.roboflow.com/inference/people-walking.jpg")
```

{% endtab %}

{% tab title="inference-sdk（HTTP クライアント）" %}

```python
from inference_sdk import InferenceHTTPClient

client = InferenceHTTPClient(
    # api_url="http://localhost:9001",  # セルフホスト用
    api_url="https://serverless.roboflow.com",
    api_key="ROBOFLOW_API_KEY",
)
results = client.infer(
    "https://media.roboflow.com/inference/people-walking.jpg",
    model_id="rfdetr-small",
)
```

{% endtab %}
{% endtabs %}

API キーを必要とするモデルを使用するには、 `ROBOFLOW_API_KEY` 環境変数を設定するか、直接渡してください：

```python
model = get_model(model_id="my-project/1", api_key="ROBOFLOW_API_KEY")
```

次を参照してください： [ネイティブ Python API](/reference/ja/tui-lun/inference-python/native-python-api.md) ページで、可視化付きのより詳細な手順を確認でき、 [モデルを実行](https://docs.roboflow.com/deployment/self-hosted/self-hosted#run-a-model) は、サーバーベースの手順についてです。

## Inference パイプライン

`InferencePipeline` 動画を、次と同じ Python プロセス内で実行します： `推論` パッケージ。直接の Inference Library 実行を選び、そのカスタムロジックや sink インターフェースにアクセスする必要がある場合にのみ使用してください。Inference Server または Serverless を使用するアプリケーションでは、 [WebRTCストリーミング](/reference/ja/tui-lun/inference-sdk/webrtc.md).

```python
from inference import InferencePipeline
from inference.core.interfaces.stream.sinks import render_boxes

pipeline = InferencePipeline.init(
    model_id="rfdetr-large",
    video_reference="https://storage.googleapis.com/com-roboflow-marketing/inference/people-walking.mp4",
    on_prediction=render_boxes,
    api_key="ROBOFLOW_API_KEY",
)

pipeline.start()
pipeline.join()
```

上のコードは、オブジェクト検出のアノテーションを直接行います（次を通じて `render_boxes` sink）。詳細は次を参照してください： [Inference パイプライン](/reference/ja/tui-lun/inference-python/inference-pipeline.md) ページ。

## 貢献

Inference はオープンソースです。ソースコード、課題トラッカー、コントリビューションガイドは次にあります： [roboflow/inference](https://github.com/roboflow/inference) リポジトリ。次を参照してください： [CONTRIBUTING.md](https://github.com/roboflow/inference/blob/main/CONTRIBUTING.md) 始めるには。

## 次のステップ

* [ネイティブ Python API](/reference/ja/tui-lun/inference-python/native-python-api.md) - モデルを読み込み、自分のプロセス内で推論を実行します。
* [Inference パイプライン](/reference/ja/tui-lun/inference-python/inference-pipeline.md) - 動画ストリーム上でモデルを実行します。
* [モデル重みのダウンロード](/reference/ja/tui-lun/inference-python/offline-weights.md) - 重みのキャッシュと永続ストレージ。
* [ベンチマーク](/reference/ja/tui-lun/inference-python/benchmarks.md) - 一般的なハードウェアで測定したスループット。
