HPCシステムズではエンジニアを募集しています。詳しくはこちらをご覧ください。
HPCシステムズのエンジニア達による技術ブログ

Tech Blog

OpenVINO™ × Ubuntu × Intel GPU で加速するAI推論にチャレンジ!

× banner banner

前回の技術ブログでは、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 Studio – A free and open operating system for creative people.

本家Ubuntuはこちらです。

Ubuntu
Ubuntuは、デスクトップPCやクラウド、インターネットに接続されたあらゆる機器まで、すべての環境において動作可能なオープンソースのソフトウェアオペレーティングシステムです。

このデスクトップ、カッコいいと思いませんか?(笑)

ちなみに、ランチャーには「Latte Dock」を使用しています。カーソルを合わせると、Macのようにアイコンが拡大します。

Ubuntuへのインストール編

OpenVINO™のインストールは、以下のリンクにアクセスし、下図のようにメニューを選択して進めます。

Install OpenVINO™ 2024.6 — OpenVINO™ documentation
install OpenVINO Runtime package, using the distribution channel of your choice.

 

今回は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のみを使用する場合、この手順は不要です。

最新バージョンの情報は、以下のリンクを参照してください。

Releases · intel/compute-runtime
Intel® Graphics Compute Runtime for oneAPI Level Zero and OpenCL™ Driver - intel/compute-runtime
$ 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デモ)を実行してみます。

参照リンク:

open_model_zoo/demos/human_pose_estimation_demo/python at master · openvinotoolkit/open_model_zoo
Pre-trained Deep Learning models and demos (high quality and extremely fast) - openvinotoolkit/open_model_zoo

このデモでは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システムズでは信頼性の高い産業用コンピュータ/タブレットを幅広く提供しています。 

要求仕様に応じたカスタマイズのほか、中小規模での量産にも対応。仕様設計・試作・検証・生産・サポートまで徹底的にお応えいたします。

最新プロセッサー搭載コンピュータ

ECX-3000シリーズ | 産業用コンピュータならHPCシステムズ
最大24コア32スレッド(Pコア 8コア16スレッド、Eコア16コア)の第13世代インテル® Core™プロセッサー(Raptor Lake)搭載、優れた柔軟性と拡張性を兼ね備えたマシンビジョン向けファンレスPC
IPC-R670EM-SC | 産業用コンピュータならHPCシステムズ
第14世代intel CPU搭載画像処理・マシンビジョン向けスリムシャーシ型 産業用PC
IPC-R670EI-Mini | 産業用コンピュータならHPCシステムズ
第13世代intel CPU及び最新GPU RTX™ 4000 Ada SFF搭載 、画像処理・マシンビジョン・エッジAI向けのコンパクトな産業用PC

用途にあわせてカスタマイズ可能!
お見積りシミュレーション

HPCシステムズ BTOサイト |