前回の技術ブログでは、Windows環境でOpenVINO™を試しました。
Intel OpenVINO™でAIを加速させよう! インストール編 | HPCシステムズ Tech Blog
今回はUbuntu環境でOpenVINO™にチャレンジします。
使用したマシンは、残念ながら販売終了となってしまった産業向けワークステーション「IPC-R790PA-TR5」です。
- CPU:Intel Core i9-14900K
- GPU:SPARKLE Intel Arc A310 ECO
というハードウェア構成です。
なお、本ブログで紹介する動作環境の構築は、インターネット接続が前提となっています。
ところで、近年、Ubuntuの人気がグイグイ来ているような気がします。
今回使用したのは、デスクトップ環境として「KDE Plasma」を採用した「Ubuntu Studio」です。個人的にもお気に入りの環境です。
本家Ubuntuはこちらです。
このデスクトップ、カッコいいと思いませんか?(笑)
ちなみに、ランチャーには「Latte Dock」を使用しています。カーソルを合わせると、Macのようにアイコンが拡大します。
Ubuntuへのインストール編
OpenVINO™のインストールは、以下のリンクにアクセスし、下図のようにメニューを選択して進めます。
今回はUbuntu環境ですので、「Linux」を選択し、情報収集が容易な「PIP」を使用することにしました。
個人的には「Conda」もおすすめです。
Linuxのターミナルに、項目「Install」に表示されているコマンドを順次入力して実行していきます。
コピー&ペーストできますので簡単に実行できます。
$ python3 -m venv openvino_env
$ source openvino_env/bin/activate
$ python -m pip install --upgrade pip
最後のコマンドは、以下のように必要なオプションを追加してから実行してください。
$ pip install openvino==2024.5.0 openvino-dev[tensorflow2,pytorch,caffe,onnx,mxnet,kaldi]==2024.5.0
インストールには時間がかかる場合がありますが、完了するまで待ちましょう。
GPUを使用する場合
GPUを使用する場合は、Intel Compute Runtime(OpenCL NEO)のインストールが必要です。
※CPUのみを使用する場合、この手順は不要です。
最新バージョンの情報は、以下のリンクを参照してください。
$ mkdir neo
$ cd neo
$ wget https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.17791.9/intel-igc-core_1.0.17791.9_amd64.deb
$ wget https://github.com/intel/intel-graphics-compiler/releases/download/igc-1.0.17791.9/intel-igc-opencl_1.0.17791.9_amd64.deb
$ wget https://github.com/intel/compute-runtime/releases/download/24.39.31294.12/intel-level-zero-gpu-dbgsym_1.6.31294.12_amd64.ddeb
$ wget https://github.com/intel/compute-runtime/releases/download/24.39.31294.12/intel-level-zero-gpu_1.6.31294.12_amd64.deb
$ wget https://github.com/intel/compute-runtime/releases/download/24.39.31294.12/intel-opencl-icd-dbgsym_24.39.31294.12_amd64.ddeb
$ wget https://github.com/intel/compute-runtime/releases/download/24.39.31294.12/intel-opencl-icd_24.39.31294.12_amd64.deb
$ wget https://github.com/intel/compute-runtime/releases/download/24.39.31294.12/libigdgmm12_22.5.2_amd64.deb
$ sudo dpkg -i *.deb
インストール確認編
まずは、インストールが無事に完了しているかを確認するために、ベンチマークを実行してみましょう。
以下のコマンドは、Intel Open Model Zoo(OMZ)から学習済みモデルを自動ダウンロードするツールです。
$ omz_downloader --name resnet-50-tf
次に、OMZからダウンロードしたpublicモデル(フレームワーク形式のモデル)を、OpenVINO™ツールキットのIR形式に変換するためのツールを使用します。
$ omz_converter --name resnet-50-tf --precisions FP16
注意:「omz_downloader」や「omz_converter」を実行した際にエラーメッセージが表示される場合は、OpenVINO™のインストールが正しく行われていない可能性があります。その場合は、インストール手順を再度確認してください。
CPUのベンチマークを実行
$ benchmark_app -m public/resnet-50-tf/FP16/resnet-50-tf.xml -niter 100 -d CPU
(推論回数=100、推論デバイス=CPU)
GPUのベンチマークを実行
$ benchmark_app -m public/resnet-50-tf/FP16/resnet-50-tf.xml -niter 100 -d GPU
(推論回数=100、推論デバイス=GPU)
Intel CPU内蔵GPUと、別途搭載されているIntel GPUボード(今回はIntel Arc A310ボード)の両方が有効になっている場合、使用するGPUを指定する必要があります(「GPU.0」や「GPU.1」など)。
今回は、BIOS(UEFI)設定でCPU内蔵GPU(CPU内蔵グラフィックス)を無効化しました。
ローエンド($99)のGPUボードながら、ハイエンド(MSRP $589.00~$599.00)のCPUよりも高速ですね。
デモのインストール編
OpenVINO™の学習済みモデルが集約されたIntel Open Model Zooには、多くのデモが用意されており、実行して試すことができます。
前回の技術ブログではJupyter Notebookを利用しましたが、今回はそれを使用しない方法を試してみましょう。
まずは、デモをダウンロードします。インストールには時間がかかりますが、完了するまで待ちましょう。
$ sudo apt install -y git
$ git clone https://github.com/openvinotoolkit/open_model_zoo
$ cd open_model_zoo/
$ git submodule update --init --recursive
$ python3 -m pip install demos/common/python/
$ python3 -m pip install -r demos/requirements.txt
次に、「~/open_model_zoo/demos」ディレクトリを確認してみます。多くのデモが用意されています。
$ cd deoms
$ dir
これで、デモを実行する準備が整いました。
デモの実行編
ここでは、用意されたデモの中から定番の「human_pose_estimation_demo」(骨格推定のPythonデモ)を実行してみます。
参照リンク:
このデモではWebカメラを使用しますので、事前にご用意ください。
まず、前述のベンチマークと同様に、モデルをダウンロードし、変換します。
$ cd human_ pose_ estimation_demo/python
$ omz_downloader --list models.lst
$ omz_converter --list models.lst
サポートモデル
- architecture_type=openpose
- human-pose-estimation-0001
- architecture_type=ae
- human-pose-estimation-0005
- human-pose-estimation-0006
- human-pose-estimation-0007
次に、以下のコマンドでhuman_pose_estimation(骨格推定)デモを実行します。
$ python3 human_pose_estimation_demo.py -m intel/human-pose-estimation-0001/FP16/human-pose-estimation-0001.xml -d CPU -i 0 -at openpose
オプションの説明
- -d CPU : 推論デバイスを指定します。GPUを使用する場合は「CPU」を「GPU」に変更してください。
- -i 0 : 使用するカメラを指定します(例: 0番目のカメラ)。ムービーファイルを指定することも可能です。
- -at openpose : モデルのアーキテクチャタイプを指定します(例: human-pose-estimation-0001)。
全身が映るとさらに良い感じで検出できますが、今回はスペースの都合上、残念な画像で失礼いたします。
終わりに
推論(inference)を行うためのAIデバイスとして、別途GPUを用意しなくても活用できるIntelのソリューションは、なかなか面白い選択肢かもしれません。
ぜひ、ご自身のパソコンでお試しください。
今後は、NPU(Neural Processing Unit)での性能についても試してみたいところです。
なお、弊社では、Intel CPUを搭載した小型ファンレスPCからハイパフォーマンスマシンまで、幅広い製品を取り扱っています。
お気軽にご相談ください。
産業用コンピュータならHPCシステムズ
HPCシステムズでは信頼性の高い産業用コンピュータ/タブレットを幅広く提供しています。
要求仕様に応じたカスタマイズのほか、中小規模での量産にも対応。仕様設計・試作・検証・生産・サポートまで徹底的にお応えいたします。
最新プロセッサー搭載コンピュータ
用途にあわせてカスタマイズ可能!
お見積りシミュレーション