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

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

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

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

  • TensorFlowHubONNX 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 ディレクトリーに保存します。TensorFlow Hub からオブジェクト検出モデルを取得するコマンドを次に示します。

mkdir -p model/1
wget https://storage.googleapis.com/tfhub-modules/tensorflow/faster_rcnn/resnet50_v1_640x640/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/0/demos/object_detection/python/object_detection.py
wget https://raw.githubusercontent.com/openvinotoolkit/model_server/releases/2024/0/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: 結果を確認

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

Inference results

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

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