Age and Gender Recognition via REST API#
This article describes how to use OpenVINO™ Model Server to execute inference requests sent over the REST API interface. The demo uses a pretrained model from the Open Model Zoo repository.
Download the pretrained model for age and gender recognition#
Download both components of the model (xml and bin file) using curl in the model
directory
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
Start OVMS docker container with downloaded model#
Start OVMS container with image pulled in previous step and mount model
directory :
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
Requesting the Service#
Clone the repository
git clone https://github.com/openvinotoolkit/model_server.git
Enter age_gender_recognition python demo directory:
cd model_server/demos/age_gender_recognition/python
Download sample image using the command :
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
Install python dependencies:
pip3 install -r requirements.txt
Run age_gender_recognition.py script to make an inference:
python3 age_gender_recognition.py --image_input_path age-gender-recognition-retail-0001.jpg --rest_port 8000
Sample Output :
age-gender-recognition-retail-0001.jpg (1, 3, 62, 62) ; data range: 0 : 239
{'outputs': {'prob': [[[[0.9874807]], [[0.0125193456]]]], 'age_conv3': [[[[0.25190413]]]]}}
Output format :
Output Name |
Shape |
Description |
---|---|---|
age_conv3 |
[1, 1, 1, 1] |
Estimated age divided by 100 |
prob |
[1, 2, 1, 1] |
Softmax output across 2 type classes [female, male] |