TensorFlow モデルを直接インポートしたモデルサーバーのデモ

ここでは、OpenVINO モデルサーバーを使用して TensorFlow モデルの推論要求を実行する方法を説明します。例として、InceptionResNetV2 を使用して画像の分類を行います。

必要条件

  • Docker がインストールされていること

  • Python 3.7 以降がインストールされていること

実行の準備

リポジトリーのクローンを作成し、image_classification_using_tf_model ディレクトリーに移動します。

git clone https://github.com/openvinotoolkit/model_server.git
cd model_server/demos/image_classification_using_tf_model/python

InceptionResNetV2 モデルのダウンロード

mkdir -p model/1
wget -P model/1 https://storage.googleapis.com/download.tensorflow.org/models/tflite/model_zoo/upload_20180427/inception_resnet_v2_2018_04_27.tgz
tar xzf model/1/inception_resnet_v2_2018_04_27.tgz -C model/1

OpenVINO™ モデルサーバーの実行

docker run -d -v $PWD/model:/models -p 9000:9000 openvino/model_server:latest --model_path /models --model_name resnet --port 9000

クライアントの実行

Python の依存関係をインストールします。

pip3 install -r requirements.txt

クライアントを実行する準備ができました。

python3 image_classification_using_tf_model.py --help
usage: image_classification_using_tf_model.py [-h] [--grpc_address GRPC_ADDRESS] [--grpc_port GRPC_PORT] --image_input_path IMAGE_INPUT_PATH

Client for OCR pipeline

optional arguments:
  -h, --help            show this help message and exit
  --grpc_address GRPC_ADDRESS
                        Specify url to grpc service. default:localhost
  --grpc_port GRPC_PORT
                        Specify port to grpc service. default: 9000
  --image_input_path IMAGE_INPUT_PATH
                        Image input path

デモを実行した結果の例:

python3 image_classification_using_tf_model.py --grpc_port 9000 --image_input_path ../../common/static/images/zebra.jpeg
Image classified as zebra