REST API を介した年齢と性別の認識¶
ここでは、OpenVINO™ モデルサーバーを使用して、REST API インターフェイス経由で送信された推論要求を実行する方法について説明します。デモでは、Open Model Zoo リポジトリーの事前トレーニング済みモデルを使用します。
年齢と性別を認識するための事前トレーニング済みモデルをダウンロード¶
model
ディレクトリーで curl を使用して、モデルの両方のコンポーネント (xml ファイルと bin ファイル) をダウンロードします。
curl --create-dirs https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.1/models_bin/2/age-gender-recognition-retail-0013/FP32/age-gender-recognition-retail-0013.bin https://storage.openvinotoolkit.org/repositories/open_model_zoo/2022.1/models_bin/2/age-gender-recognition-retail-0013/FP32/age-gender-recognition-retail-0013.xml -o model/1/age-gender-recognition-retail-0013.bin -o model/1/age-gender-recognition-retail-0013.xml
ダウンロードしたモデルで OVMS Docker コンテナを起動¶
前の手順で取得したイメージを使用して OVMS コンテナを起動し、model
ディレクトリーをマウントします。
docker run --rm -d -u $(id -u):$(id -g) -v $(pwd)/model:/models/age_gender -p 9000:9000 -p 8000:8000 openvino/model_server:latest --model_path /models/age_gender --model_name age_gender --port 9000 --rest_port 8000
サービスの要求¶
リポジトリーのクローンを作成します。
git clone https://github.com/openvinotoolkit/model_server.git
age_gender_recognition Python デモ・ディレクトリーを入力します。
cd model_server/demos/age_gender_recognition/python
コマンドを使用してサンプルイメージをダウンロードします。
wget https://raw.githubusercontent.com/openvinotoolkit/open_model_zoo/2022.1.0/models/intel/age-gender-recognition-retail-0013/assets/age-gender-recognition-retail-0001.jpg
Python の依存関係をインストールします。
pip3 install -r requirements.txt
age_gender_recognition.py スクリプトを実行して推論を行います。
python3 age_gender_recognition.py --image_input_path age-gender-recognition-retail-0001.jpg --rest_port 8000
サンプルの出力 :
age-gender-recognition-retail-0001.jpg (1, 3, 62, 62) ; data range: 0 : 239
{'outputs': {'prob': [[[[0.9874807]], [[0.0125193456]]]], 'age_conv3': [[[[0.25190413]]]]}}
出力形式 :
出力名 |
形状 |
説明 |
---|---|---|
age_conv3 |
[1, 1, 1, 1] |
推定年齢を 100 で割った値 |
プロブ |
[1, 2, 1, 1] |
2 つのタイプクラスのソフトマックス出力 [female、male] |