クイックスタート・ガイド¶
OpenVINO モデルサーバーは、OpenVINO IR 、ONNX、PaddlePaddle または TensorFlow 形式の事前トレーニング済みモデルを使用して推論を実行できます。以下を取得できます。
Open Model Zoo からモデルをダウンロードします。
トレーニング・フレームワークでモデルを生成し、サポートされている形式 (TensorFlow Saved_model、ONNX、または PaddlePaddle) に保存します。
TensorFlowHub や ONNX Model Zoo などのモデルハブからモデルをダウンロードします。
変換ツールを使用して任意の形式からモデルを変換します。
このガイドでは、TensorFlow 形式の Resnet-50 V1 オブジェクト検出モデルを備えた高速 R-CNN を使用します。
注: - OpenVINO モデルサーバーは Linux* および macOS* 上で実行できます。Windows* で使用するには WSL が必要です。
OpenVINO™ モデルサーバーのクイックスタートには、次の手順に従います。
Docker の準備
OpenVINO™ モデルサーバーのダウンロード
モデルの提供
モデル・サーバー・コンテナの開始
サンプル・クライアント・コンポーネントの準備
推論データのダウンロード
推論の実行
結果を確認
ステップ 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: 結果を確認¶
現在のフォルダーには、推論結果を含むファイルがあります。この例では、検出されたオブジェクトとそのラベルを示す境界ボックスを含む、変更された入力画像になります。
注: 他のモデル形式でも同様の手順を実行できます。ONNX の使用例で TensorFlow 分類モデルのデモ、または PaddlePaddle モデルのデモを確認してください。
おめでとうございます。クイックスタート・ガイドは完了です。他のモデルサーバーのデモを試すか、必要な機能を調査してアプリケーションを作成してください。