OpenVINO(Open Visual Inference & Neural network Optimization)はIntelが開発しているDeep Learningの推論用ツールキット。CVATでオートアノテーション用のモデルをアップロードするために必要なのでインストールしたときのメモ。私の環境では以下のIntel OpenVINOのサイトに従って簡単にインストールできた。
OpenVINO Toolkit
環 境
- Razer Blade 15 (2018)
- Ubuntu 18.04
- Kernel 5.3.0-40-generic
- Python 3.6.9
インストール
- ダウンロード:次のサイトからLinux用のツールキットをダウンロードする。ダウンロードには登録が必要なので、必要事項を記入してダウンロードする。なお、AdBlockなどの広告ブロッカーを使っているとダウンロードできないで停止する。2020年3月7日時点では最新のバージョン2020.1だとCVATで問題が起きたので、2019R3.1のバージョン (Choose a download optionはFull package)を選び、~/Downloadsに保存する。なお、CVATを使わないならpythonのデモスクリプト(openvino_2020.1.023/deployment_tools/open_model_zoo/demos/python_demos)があるopenvino_2020.1.023のインストールが良い。
- インストール: 端末を開き次のコマンドを実行して、インストールする。
- $ cd ~/Downloads
- $ tar xvzf l_openvino_toolkit_p_2019.3.376.tgz
- $ cd l_openvino_toolkit_p_2019.3.376
- $ sudo ./install_GUI
- “I accept the terms of the license agreement”にチェックを入れてライセンスに同意が必要。それ以外は特に変更することはないのでデフォルトのままで、Install、Nextをクリックしていく。最後のFinishを押すとインストールは完了する。
- 追加インストール:依存関係のある外部ソフトをインストールする。
- $ cd /opt/intel/openvino/install_dependencies
- $ sudo -E ./install_openvino_dependencies.sh
- 環境変数の設定:~/.bashrcの最後に以下を追加し保存する。
- source /opt/intel/openvino/bin/setupvars.sh
- モデルオプティマイザーの設定:OpenVINOはエッジ用のツールなので学習はCaffe、TensorFlowなどの他のフレームワークを使う。他のフレームワークの学習済みモデルをインポートするツールがモデルオプティマイザーであり、学習済みのモデルを推論するために必要である。モデルオプティマイザーで学習済みのモデルを実行するときは、出力はネットワークのIntermediate Representation (IR)となり次の2つのファイルとなる。詳細はこのリンクを参照。
- Intermediate Representation (IR)
- .xml: ネットワーク構造
- .bin: ネットワークの重み
- 設定
- $ cd /opt/intel/openvino/deployment_tools/model_optimizer/install_prerequisites
- $ sudo ./install_prerequisites.sh
- Intermediate Representation (IR)
検 証
- インストールがうまくできたが以下のコマンドで確認する。下図のように車が識別できたら成功。
- $ cd /opt/intel/openvino/deployment_tools/demo
- $ ./demo_squeezenet_download_convert_run.sh
- $ ./demo_security_barrier_camera.sh
Intel GPU用の設定
- $ cd /opt/intel/openvino/install_dependencies/
- $ sudo -E su
- $ ./install_NEO_OCL_driver.sh
- 実行すると以下のメッセージが出力された。
Adding demulab to the video group…
Installation completed successfully.
Next steps:
Add OpenCL users to the video group: ‘sudo usermod -a -G video USERNAME’
e.g. if the user running OpenCL host applications is foo, run: sudo usermod -a -G video foo
Current user has been already added to the video group
If you use 8th Generation Intel® Core™ processor, you will need to add:
i915.alpha_support=1
to the 4.14 kernel command line, in order to enable OpenCL functionality for this platform.
- 第8世代のIntelプロセッサーを使っている場合は、i915.alpha_support=1をカーネルのコマンドラインに追加する必要がある。lscpuコマンドのモデル名を見るとわかる。私の場合は、以下なのでi7-の後の数字が世代となる。つまり、第8世代になるのでi915.alpha_support=1をカーネルのコマンドラインに追加しなければならない。
- Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
- /etc/default/grubのGRUB_CMDLINE_LINUX_DEFAULTにi915.alpha_support=1を追加して次のようにする。
- GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash i915.alpha_support=1″
- 次のgrubで変更を反映させる。
- $ sudo /usr/sbin/update-grub
- リブートして検証を再度実行してフレームレートが上がっているか確認する。
- $ sudo reboot
- 検証
- $ cd /opt/intel/openvino/deployment_tools/demo
- Intel内蔵GPUを有効にするためには-d GPUのオプションをつけてスクリプトを実行する。
- $ ./demo_security_barrier_camera.sh -d GPU
- CPUとGPUの6回の平均は次のとおり。NVIDIAのGPUのように爆速にはならなかったが、私の環境ではGPUの方が約1.7倍高速になった。
- CPU: 51.7 fps
- GPU: 86.5 fps
終わり
コメント