アイリアSDKを試す <第1回>ラズベリー・パイOS(64ビット)にアイリアSDKをインストール

※本企画は雑誌『Interface』のWebサイトに掲載された記事を再編集したものです。
※本記事はアイリアの製品およびサービスを紹介するPR記事です。

ailia SDKとは?

アイリア(Ailia Inc.)が開発、提供するエッジAI向け推論フレームワーク「アイリアSDK」を、ラズベリー・パイ4上で動作検証します(写真1)。

アイリアSDKについて、開発元による紹介文を引用し、その概要を示します(1)。

*****
「あらゆるデバイスに実装できる,独自開発のエッジAIフレームワーク」

現在、既存のAIフレームワークはデバイスやプラットフォームごとに細分化が進んでいます。私たちは、推論に特化したAIフレームワークであるアイリアSDKによって、クロスプラットフォームで一貫性のある推論環境を提供します。

さまざまな認識・結果を出力するAIモデルと、OSやハードウェアの実行プラットフォームを接続し、高速なエッジAIを実現する、世界最高水準のAI開発環境です。
*****

(写真1)推論フレームワークailia SDKをラズベリー・パイ4で動かす

ライセンス…個人は無償

アイリアSDKはGitHub上で公開されていますが、公式サイトから本体一式をダウンロードできます。ライセンスはオープンソースソフトウェア(OSS)ではありませんが、以下の条件で無償利用が可能です。

・個人利用
・年間収益10万米ドル未満の小規模商用利用

法人利用(受託開発など)は無償利用の対象外となりますので、ご留意ください。また、ライセンスには30日間の評価期限が設定されており、期限後は再取得が必要です。

なお、pip経由で導入した場合は、30日ごとにライセンス・ファイルが自動で更新されるため、継続的な利用が可能です。

ラズベリー・パイOSの選定とセットアップ

アイリアSDKのチュートリアル(Python)では、下記のラズベリー・パイOSが指定されています。やや古い32ビット版である点にご注意ください。

*****
Raspberry Pi OS (32-bit) with desktop and recommended software(August 2020)
*****

なお、ダウンロードしたSDK内のインストール用ファイル(bootstrap.py)には、「arm64 v8a」フォルダを利用する旨の記述が確認できました。このことから、アイリアSDKはAArch64(ARM64)にも対応していると判断できます。

そこで本記事では,より新しい64ビット版ラズベリー・パイOS(Debian 12 Bookwormベース)を用いて動作検証を行います。64ビット版のOSを使用する理由は、アイリアSDKの性能を最大限に引き出すためです。64ビット環境では、32ビット環境に比べてより大きなメモリ空間を扱えたり、より効率的な命令セットを使用できるため、AI処理のような計算負荷の高いタスクにおいてパフォーマンスが向上します。

アイリアSDKのインストール

チュートリアルに従い、SDKのインストールを行います。実行結果は(リスト1)のとおりです。インストールログから、aarch64(64ビット)版のパッケージが自動的に選択され、インストールできることを確認しました。これにより64ビット版ラズベリー・パイOS上でもアイリアSDKが動作することが期待できます。

$ cd ~/ailia_1_5_0_trial
$ pip3 install ailia
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting ailia
     Downloading ailia-1.5.0.0-py3-none-manylinux2014_aarch64.whl.metadata (1.2 kB)
     Downloading ailia-1.5.0.0-py3-none-manylinux2014_aarch64.whl (70.8 MB)
        ━━━━━━━━━━━━━━━━━━ 70.8/70.8 MB 3.1 MB/s eta 0:00:00
Installing collected packages: ailia
Successfully installed ailia-1.5.0.0
$ python3 bootstrap.py
$ pip3 install
Processing /home/mike/ailia_1_5_0_trial/python
   :
   :
   :
Successfully installed ailia-1.5.0.0

(リスト1)アイリアSDKのインストール

アイリアが公開しているサンプルの実行準備

インストールしたSDKが64ビットOS環境で正常に動作するかどうかを、アイリアが公開しているサンプル・プログラムを用いて確認します。
サンプル・プログラムはailia MODELSに含まれているため、これを利用します。

$ git clone https://github.com/axinc-ai/ailia-models

▲必要なライブラリのインストール
ラズベリー・パイ用として、(リスト2)のパッケージをインストールします。全てのライブラリが正常にインストールできました。

pip3 install numpy
pip3 install opencv-python
pip3 install matplotlib
pip3 install scikit-image
sudo apt-get install libatlas-base-dev

(リスト2)必要なライブラリのインストール

サンプル・プログラムの実行

続いてチュートリアル(Python)に従い、確認用サンプル・プログラムresnet50.pyを実行します(リスト3)。これも正常に終了したため、結果を確認します。

このプログラムは、同じフォルダ内に含まれている画像「pizza.jpg」に写っている物体を分類するものです。実行したところ、画像はピザだったため、idx=0 category=963 [pizza, pizza pie] という推論結果が得られ、分類も正確でした(図1)。

サンプル・プログラムも正常に動作したことから、最新の64ビット版ラズベリー・パイOS上でもアイリアSDKをインストールし、利用できることが確認できました。

$ python3 resnet50.py
:
class_count=3
+ idx=0
    category=963[pizza, pizza pie ]
    prob=0.8781408071517944
+ idx=1
    category=927[trifle ]
    prob=0.04941943287849426
+ idx=2
    category=567[frying pan, frypan, skillet ]
    prob=0.011217023245990276
  INFO resnet50.py (146) : Script finished successfully.

(リスト3)確認用サンプル・プログラムresnet50.pyを実行する

(図1)確認用サンプル・プログラムresnet50.pyを実行…idx=0 category=963 [pizza, pizza pie] という推論結果が得られた

まとめ

今回はラズベリー・パイ4のラズベリー・パイOS(64ビット)にアイリアSDKをインストールし、サンプル・プログラムの動作を確認しました。

アイリアSDKには多くのAIモデルが用意されているため、今後は今回構築した環境および公開されているモデルを活用し、さまざまな機能や性能を評価していく予定です。なお、アイリアSDKのチュートリアルでは古い32ビットOSの利用が指定されています。そのため、内容によっては今回の64ビットOS環境では動作しない場合も考えられます。その場合は、32ビットOSに切り替えて評価を進める予定です。

【参考文献】
(1)クロスプラットフォーム高速推論SDK,アイリア(株)
https://ailia.ai/sdk

※ラズベリーパイはラズベリーパイ財団の商標です。その他会社名、各製品名は、一般に各社の商標または登録商標です。

氏森 充(うじもり・たかし)氏

約30年間、株式会社構造計画研究所にてIoT、ビッグデータ、機械学習、AI関連のシステム開発や実務応用に従事。退職後はLLM(大規模言語モデル)関連の情報収集や技術動向の調査・発信に注力し、雑誌『Interface』でもLLM技術に関する記事を執筆中。

コンピューター・サイエンス&テクノロジ専門誌『Interface』

CQ出版社が発行するコンピュータ技術専門の月刊誌です。1974年の創刊以来、組み込みシステム、ソフトウェア、AI、IoTなど、時代とともに進化するコンピュータ技術を幅広く紹介しています。理論だけでなく、実践的なプログラミングや実機製作の記事も豊富で、エンジニアから学生まで、コンピュータ技術を深く学びたい読者に支持されています。
https://interface.cqpub.co.jp/

SHARE THIS ARTICLE