創屋ぷれす

ArmNN 環境構築

Arm NN Build Tool

ArmNN ネット上に情報が少ない(日本語の).
Arm Coreが入ったCPUは多く,それらが載っているボードの種類は,山のようにある.
数千円程度からあるので,これらの上でAIを実行する意味は高い.
いわゆるエッジAIという分野.

ArmNNのバージョンが着実に上がり,最新の24.08では,Numpyが入ったとか.
急ぎ,環境を作り・・・と思って調べたのですが,WiKiから入ったドキュメントにクロスコンパイル環境の目次が無くなっている!

あれこれ,彷徨っていたところ,上のリンクにたどり着きました.
Dockerで,一気に環境を作るというものです.公式ドキュメントなので,安心して進められます.
aarch64の環境は,時間はかかったものの,ちゃんと出来上がりました.

—–引用—–
This example’s choice of SETUP_ARGS and BUILD_ARGS builds all Arm NN components with NEON and OpenCL accelerated backends for aarch64 target. This process should take less than an hour with a modern machine but will vary depending on the arguments chosen and host machine specification.
(この例では、SETUP_ARGS と BUILD_ARGS を選択することで、NEON と OpenCL アクセラレーションバックエンドを備えたすべての Arm NN コンポーネントを aarch64 ターゲットにビルドします。このプロセスは、最新のマシンであれば1時間もかかりませんが、選択した引数やホストマシンの仕様によって異なります。)

docker build \
--build-arg SETUP_ARGS="--target-arch=aarch64 --all" \
--build-arg BUILD_ARGS="--target-arch=aarch64 --all --neon-backend --cl-backend" \
--tag armnn:aarch64 \
--file docker/Dockerfile .

————–

x86_64環境は,下記を実行
————–
docker build \
--build-arg SETUP_ARGS="--target-arch=x86_64 --all" \
--build-arg BUILD_ARGS="--target-arch=x86_64 --all --ref-backend" \
--tag armnn:x86_64 \
--file docker/Dockerfile .

————–

Armの環境では動作確認していないですが,x86_64では,
export LD_LIBRARY_PATH=.; ./UnitTests
export LD_LIBRARY_PATH=.:..; ./DelegateUnitTests

この実行も確認しました.

さて,まだまだやることが・・・
入り口に立ったところだ.

2024/09/16追記
armnn/tests/ExecuteNetworkの実行をyoloxのモデルを使って実行
その過程で,buildされたファイル群を見つけた.
https://github.com/ARM-software/armnn/releases/

一通り,揃ってる.
最新バージョンだと,ExecuteNetworkの結果が正しくでてないので,23台まで戻すことにする.

創屋のホームページはこちらから

Comments are closed.