OpenVINO モデル・サーバー・アダプター¶
OVMSAdapter
は ModelAdapter
インターフェイスを実装します。OVMSAdapter
を使用すると、OpenVINO モデルサーバーでホストされているモデルでモデル API を使用できるようになります。
必要条件¶
OVMSAdapter
OpenVINO モデルサーバーへの gRPC 呼び出しによる推論が有効になるため、これには次の 2 つが必要です。
モデルを提供する OpenVINO モデルサーバー
ovmsclient
モデルサーバーとの通信を可能にするためインストールされたパッケージ
OpenVINO モデルサーバーのデプロイ¶
モデルサーバーは Docker イメージとして配布され、DockerHub で入手でき、docker run
コマンドで使用できます。OpenVINO モデルサーバーを使用して OpenVINO に最適化されたモデルをデプロイする方法は、モデルサーバーのドキュメントを参照してください。
モデル構成¶
OpenVINO モデルサーバーを使用する場合、クライアント・アプリケーション (OMZ デモなど) からモデルに直接アクセスすることはできません。したがって、設定はすべてモデルサーバー側で行う必要があります。
入力の再形成¶
ユースケースによっては、特定のサイズの入力に一致するようにモデルの再形成が必要です。その場合、モデルサーバー起動コマンドに --shape auto
パラメーターを指定します。このオプションを使用すると、モデルサーバーは入力データと一致するようにオンデマンドでモデル入力を再形成します。
推論オプション¶
次のオプションで、OpenVINO モデルサーバーのモデルの推論関連オプションを構成できます。
--target_device
- モデルをロードするデバイスの名前--nireq
- InferRequests の番号--plugin_config
- デバイスプラグインの構成
詳細については、モデルサーバーの構成パラメーターを参照してください。
OVMS 起動コマンドの例¶
docker run -d --rm -v /home/user/models:/models -p 9000:9000 openvino/model_server:latest --model_path /models/model1 --model_name model1 --port 9000 --shape auto --nireq 32 --target_device CPU --plugin_config "{\"CPU_THROUGHPUT_STREAMS\": \"CPU_THROUGHPUT_AUTO\"}"
注: デモでは、
--adapter ovms
を使用している間、-nireq
、-nstreams
-nthreads
などの推論オプション、および-d
のデバイス仕様は無視されます。
OVMSAdapter を使用したデモの実行¶
OpenVINO モデルサーバーで提供されるモデルを使用してデモを実行するには、--adapter ovms
オプションを指定し、モデルファイルではなくモデル推論サービスを示すように -m
パラメーターを変更する必要があります。OVMSAdapter
のモデル・パラメーターは次のスキーマに従います。
<service_address>/models/<model_name>[:<model_version>]
<service_address>
-<address>:<port>
形式の OVMS gRPC サービスアドレス<model_name>
- ターゲットモデルの名前 (モデルサーバー起動コマンドのmodel_name
パラメーターで指定されたもの)<model_version>
(オプション) - 対象機種のバージョン (デフォルト: 最新)
モデルサーバーがデモと同じマシン上で実行され、ポート 9000 で gRPC サービスを公開し、model1
というモデルを提供すると仮定すると、-m
パラメーターの値は次のようになります。
localhost:9000/models/model1
- 最新モデルのバージョンをリクエストlocalhost:9000/models/model1:2
- モデルのバージョン番号 2 をリクエスト