クイックスタート・ガイド#

OpenVINO モデルサーバーは、OpenVINO IRONNXPaddlePaddle または TensorFlow 形式の事前トレーニング済みモデルを使用して推論を実行できます。以下を取得できます:

  • Open Model Zoo からモデルをダウンロードします。

  • トレーニング・フレームワークでモデルを生成し、サポートされている形式 (TensorFlow Saved_model、ONNX、または PaddlePaddle) に保存します。

  • KaggleONNX Model Zoo などのモデルハブからモデルをダウンロードします。

  • 変換ツールを使用して任意の形式からモデルを変換します。

このガイドでは、TensorFlow 形式の Resnet-50 V1 オブジェクト検出モデルを備えた高速 R-CNN を使用します。

: - OpenVINO モデルサーバーは Linux* および macOS* 上で実行できます。Windows* で使用するには WSL が必要です。

OpenVINO™ モデルサーバーのクイックスタートには、次の手順に従います:

  1. Docker の準備

  2. OpenVINO™ モデルサーバーのダウンロード

  3. モデルの提供

  4. モデル・サーバー・コンテナの開始

  5. サンプル・クライアント・コンポーネントの準備

  6. 推論データのダウンロード

  7. 推論の実行

  8. 結果を確認

ステップ 1: Docker の準備#

開発システムでインストール後の手順を含む Docker エンジンをインストールします。インストールを確認するには、次のコマンドでテストします。テスト画像とメッセージが表示されれば準備完了です。

$ docker run hello-world

ステップ 2: モデルサーバーのダウンロード#

OpenVINO モデルサーバーを含む Docker イメージをダウンロードします:

docker pull openvino/model_server:latest

ステップ 3: モデルの提供#

モデルのコンポーネントを model/1 ディレクトリーに保存します。Kaggle からオブジェクト検出モデルを取得するコマンドを次に示します:

mkdir -p model/1 
wget https://www.kaggle.com/api/v1/models/tensorflow/faster-rcnn-resnet-v1/tensorFlow2/faster-rcnn-resnet50-v1-640x640/1/download -O 1.tar.gz 
tar xzf 1.tar.gz -C model/1

OpenVINO モデルサーバーは、モデルに特定のフォルダー構造を想定しています。この場合、model ディレクトリーには次が含まれます:

model
 └── 1 
     ├── saved_model.pb 
     └── variables 
         ├── variables.data-00000-of-00001 
         └── variables.index

サブフォルダー 1 はモデルのバージョンを示します。モデルをアップグレードする場合は、別のサブフォルダー (2、3…) に他のバージョンを追加できます。ディレクトリー構造と複数のモデルを一度にデプロイする方法の詳細は、次のセクションを確認してください:

ステップ 4: モデル・サーバー・コンテナの開始#

コンテナを開始します:

docker run -d -u $(id -u) --rm -v ${PWD}/model:/model -p 9000:9000 openvino/model_server:latest --model_name faster_rcnn --model_path /model --port 9000

このステップで、model フォルダーが Docker コンテナにマウントされます。このフォルダーはモデルの保存場所として使用されます。

ステップ 5: サンプル・クライアント・コンポーネントの準備#

クライアント・スクリプトは、モデルサーバーに素早くアクセスするのに使用できます。次のコマンドを実行して、必要なコンポーネントをすべてダウンロードします:

wget https://raw.githubusercontent.com/openvinotoolkit/model_server/releases/2024/3/demos/object_detection/python/object_detection.py 
wget https://raw.githubusercontent.com/openvinotoolkit/model_server/releases/2024/3/demos/object_detection/python/requirements.txt 
wget https://raw.githubusercontent.com/openvinotoolkit/open_model_zoo/master/data/dataset_classes/coco_91cl.txt

クライアント・アプリケーションの作成に関する詳細を確認してください。

ステップ 6: 推論データのダウンロード#

この例では、ファイル coco_bike.jpg を使用します。次のコマンドを実行してイメージをダウンロードします:

wget https://storage.openvinotoolkit.org/repositories/openvino_notebooks/data/data/image/coco_bike.jpg

ステップ 7: 推論の実行#

クライアント・スクリプトが含まれるフォルダーに移動し、依存関係をインストールします。推論結果を格納するフォルダーを作成し、クライアント・スクリプトを実行します:

pip install --upgrade pip 
pip install -r requirements.txt 

python3 object_detection.py --image coco_bike.jpg --output output.jpg --service_url localhost:9000

ステップ 8: 結果を確認#

現在のフォルダーには、推論結果を含むファイルがあります。この例では、検出されたオブジェクトとそのラベルを示す境界ボックスを含む、変更された入力画像になります。

推論の結果

: 他のモデル形式でも同様の手順を実行できます。ONNX の使用例TensorFlow 分類モデルのデモ、または PaddlePaddle モデルのデモを確認してください。

おめでとうございます。クイックスタート・ガイドは完了です。他のモデルサーバーのデモを試すか、必要な機能を調査してアプリケーションを作成してください。