OpenVINO 2022.1 install & python sample実行 ubuntu編

ついにOpenVINO 2022.1がリリースされました。

OpenVINO 2022.1 からは、LinuxではDev ToolのインストールはPIP,Git,Dockerでのインストール、Runtimeはsh,PIP,APTなどでのインストールとなっています。

Dev Toolsのインストール

今回はUbuntu20.04LTSにOpenVINO 2022.1 Dev Tools PIP版をインストールしてみます。

https://www.intel.com/content/www/us/en/developer/tools/openvino-toolkit/download.html
にアクセスすると、パッケージを選ぶ画面になるので、必要なフレームワークを選んでください。
ここでは全選択しています。

それなりに環境が整っていれば、上記画像の一番下のコマンドをterminalで入力するとあっという間に完了してしまいます。

インストールしたばかりのUbuntuの場合は、pipも入っていないと思いますので、下記のように実行してください。

sudo apt-get install python3-pip

pip install openvino-dev[caffe,kaldi,mxnet,pytorch,onnx,tensorflow2]==2022.1.0

仮想環境を使う場合は、下記のコマンドでできると思います。

sudo apt-get install python3-pip

python3 -m venv openvino_env

source openvino_env/bin/activate

python -m pip install --upgrade pip

pip install openvino-dev[caffe,kaldi,mxnet,pytorch,onnx,tensorflow2]==2022.1.0

これで開発環境はインストールできました。次はサンプルプログラムを動作させてみます。

サンプルのインストール

OpenVINO 2022.1からはサンプルプログラムは Runtimeに含まれて配布されています。
ダウンロードしてみましょう

Runtimeを選ぶとサンプルソースが入っています。
C++を選んでおくと、C++のサンプルも入りますので、少し幸せになれるかも…

今回は簡単にインストールできるOffline Installerを選択しました。

Downloadボタンを押すとシェルスクリプトがダウンロードされます。

cliで実行する場合は、

./l_openvino_toolkit_p_2022.1.0.643.sh -a --cli

のように、-a –cliをつけて実行してみてください。

うまくインストールが進むと、~/intelというフォルダが作成されます。
このフォルダ(~/intel/openvino_2022/samples/)の中にpythonとC,C++のサンプルがあります。

次にPythonの仮想環境を使用します

source ~/openvino_env/bin/activate

cd ~/intel/openvino_2022/samples/python/

pip install -r requirements.txt

classification_sample_async の実行

cd ~/intel/openvino_2022/samples/python/classification_sample_async


python3 classification_sample_async.py 

  usage: classification_sample_async.py [-h] -m MODEL -i INPUT [INPUT ...] [-d DEVICE]

  classification_sample_async.py: error: the following arguments are required: -m/--model, -i/--input

このようなメッセージが表示されたら、classification_sample_asyncは実行できます。

まずは必要となるモデルをダウンロードします。
簡単に実行するのであれば、カレントフォルダにモデルをダウンロードします。

omz_downloader --name alexnet

omz_converter --name alexnet

ここまでで、alexnetがカレントフォルダのpublicというフォルダに格納され、OpenVINO用のモデルに変換してくれます。

その後、下記コマンドで実行可能です。

python classification_sample_async.py -m public/alexnet/FP16/alexnet.xml -i ~/images/apple.jpg

[ INFO ] Creating OpenVINO Runtime Core
[ INFO ] Reading the model: public/alexnet/FP16/alexnet.xml
[ INFO ] Loading the model to the plugin
[ INFO ] Starting inference in asynchronous mode
[ INFO ] Image path: /home/klf/images/apple.jpg
[ INFO ] Top 10 results: 
[ INFO ] class_id probability
[ INFO ] --------------------
[ INFO ] 957      0.9949166
[ INFO ] 950      0.0017935
[ INFO ] 989      0.0013619
[ INFO ] 948      0.0009567
[ INFO ] 951      0.0007669
[ INFO ] 952      0.0001433
[ INFO ] 949      0.0000239
[ INFO ] 988      0.0000107
[ INFO ] 940      0.0000079
[ INFO ] 990      0.0000050
[ INFO ] 
[ INFO ] This sample is an API example, for any performance measurements please use the dedicated benchmark_app tool

このサンプルはリンゴの写真を推論させています。

https://storage.openvinotoolkit.org/data/test_data/images/ から取得)

次回はC++の開発環境を整えます。