For the complete documentation index, see llms.txt. This page is also available as Markdown.

ローカルでモデルを実行する

Docker inference server を使って、自前のハードウェア上で 5 分以内に Roboflow モデルを実行します。

Roboflow Inference は、Roboflowのホスト済みモデルを支える無料のオープンソースエンジンです。同じモデルを自分のコンピューターで実行できます。DockerコンテナでInference Serverを起動し、その後HTTPまたはPythonで画像を送信します Inference SDK。自分で実行すれば、画像は自分のマシンに保持され、セットアップを完全に制御できます。

自分のマシンでモデルを実行する

1

Inference Serverを起動する

inference server start は、 Inference Server をDockerコンテナ内で起動し、ハードウェアに適したバージョン(CPU、NVIDIA GPU、またはJetson)を選択します。 Docker がインストールされ、実行されている必要があります。

pip install inference-cli && inference server start

サーバーは http://localhost:9001で待ち受けます。デバイス固有のセットアップとトラブルシューティングについては、 Inference install guide.

2

依存関係をインストールする

supervision で結果を描画し、 cv2numpy:

pip install supervision
3

モデルを実行する

画像をローカルサーバーに送信し、すぐ使える RF-DETR モデルを実行します。このようなすぐ使えるモデルにはAPIキーは不要です:

import base64
import cv2
import numpy as np
import requests
import supervision as sv

content = requests.get("https://media.roboflow.com/quickstart/cars.jpg").content
image = cv2.imdecode(np.frombuffer(content, np.uint8), cv2.IMREAD_COLOR)
image_b64 = base64.b64encode(content).decode("utf-8")

result = requests.post(
    "http://localhost:9001/coco/38",  # coco/38 == rfdetr-nano
    data=image_b64,  # 本文に生のbase64
    headers={"Content-Type": "application/x-www-form-urlencoded"},
).json()
detections = sv.Detections.from_inference(result)
print(f"{len(detections)}個のオブジェクトを検出しました")

annotated = sv.BoxAnnotator().annotate(image.copy(), detections)
annotated = sv.LabelAnnotator().annotate(annotated, detections)
cv2.imwrite("output.jpg", annotated)

最初のリクエストでモデルがダウンロードされるため、数秒かかることがあります。その後のリクエストは高速です。

RF-DETR car and truck bounding boxes on a road scene
ローカルInference ServerによるRF-DETRの検出結果

動画を処理する

動画でモデルを実行するには、動画をサーバーに送信し、再生しながら、ボックスがすでに描画された各フレームを受け取ります。コンピューターの処理が追いつかない場合、サーバーはリアルタイムを維持するためにフレームをスキップします。これはPython SDKと Workflow:モデルを実行し、結果を描画してくれる保存済みの設定です。

また、上の画像例と同じようにフレームを1枚ずつ送信することで、HTTP経由で動画上でモデルを実行することもできます(ストリーミング用アドオンは不要です)。これは遅くなります。各フレームを送信し、処理し、描画してから次のフレームを開始する必要があるため、その間にかなり待ち時間があります。SDKは動画全体をストリーミングし、複数フレームを同時に処理するので、はるかに追随しやすくなります。

1

SDKをインストールする

動画のストリーミングには webrtc アドオンが必要です:

2

動画でモデルを実行する

より豊かなパイプライン(追跡、フィルタリング、ゾーン、通知)を視覚的に Workflows editorで構築し、同じ方法で実行できます。エッジおよび動画ストリームのデプロイについては、 Deploy a Workflow.

その他のオプション

最終更新

役に立ちましたか?