Inference Python パッケージ
inference Python パッケージ: モデルの読み込み、自分のプロセスでの推論実行、Workflows の実行、動画ストリーミング。
この inference Python パッケージは、Roboflow のコンピュータビジョンデプロイメントスタックを支える中核のオープンソースライブラリです。モデルの読み込み、前処理/後処理、GPU/CPU 最適化、そして Workflow 実行を行い、Python から直接呼び出せます。
この Inference Server このパッケージをラップし、HTTP 経由で公開します(依存関係をすべてインストールした Docker イメージとして配布されます)が、 inference 自分のスクリプトやアプリケーション内で直接使うこともできます。
各要素のつながり
Inference には、コンピュータビジョンモデルを提供するために連携するいくつかのコンポーネントがあります。
inference - モデルの読み込み、推論、Workflows の実行のための中核 Python パッケージ。
inference-sdk - HTTP 経由で Inference Server と通信するための軽量 Python クライアント。
inference-cli - Inference Server の管理や一般的なタスクの実行を行うコマンドラインツール。
Inference Server -
inferenceパッケージを REST API としてラップする HTTP サーバー(Docker)。
実行時にこれらの要素がどのように動作するか(リクエストのルーティング、並列化、マイクロサービスとアプライアンスのパターン)については、 Inference アーキテクチャ.
マルチバックエンド対応
Inference 1.0 は、ONNX、TensorRT、Hugging Face、PyTorch など複数の推論実行バックエンドをサポートしています。ハードウェアで利用可能な最速のバックエンドを自動的に選択します。たとえば、NVIDIA GPU を搭載している場合、または Jetson デバイス上で実行していて、プラットフォーム上でモデルに対応する TensorRT エンジンが利用可能な場合、Inference はデフォルトで TensorRT を使用します。
インストール
私たちは、 Python 仮想環境(venv) を使って Inference の依存関係を分離することを推奨します。
pip で Inference をインストールするには:
NVIDIA GPU がある場合は、以下で推論を高速化できます:
クイック例
HTTP 経由で Inference Server に対して( inference-sdkを使って)、またはプロセス内で直接(ネイティブの inference パッケージを使って)推論を実行できます。ネイティブの get_model() 呼び出しはモデルをスクリプトに読み込み、 .infer() を呼び出せるオブジェクトを返します。一方、HTTP クライアントは画像を同じ処理を行うサーバーに送信します。
API キーが必要なモデルを使用するには、 ROBOFLOW_API_KEY 環境変数を設定するか、直接渡してください:
次を参照してください ネイティブ Python API ページでは、可視化付きのより詳しい手順と、 Run a Model サーバーベースの経路について説明しています。
Inference パイプライン
InferencePipeline は、ビデオを inference パッケージと同じ Python プロセス内で実行します。直接 Inference Library を実行することを選び、独自のロジックや sink インターフェースが必要な場合にのみ使用してください。Inference Server または Serverless を使うアプリケーションでは、 WebRTC ストリーミング.
上記のコードは、( render_boxes sink を通じて)オブジェクト検出の注釈を直接行います。詳細は、 Inference パイプライン ページを参照してください。
貢献
Inference はオープンソースです。ソースコード、issue トラッカー、コントリビューションガイドは roboflow/inference リポジトリにあります。開始方法については、 CONTRIBUTING.md を参照してください。
次のステップ
ネイティブ Python API - モデルを読み込み、自分のプロセス内で推論を実行します。
Inference パイプライン - 動画ストリーム上でモデルを実行します。
モデル重みのダウンロード - 重みのキャッシュと永続ストレージ。
ベンチマーク - 一般的なハードウェアで測定したスループット。
最終更新
役に立ちましたか?