ailia SDK チュートリアル(Python)

Kazuki Kyakuno
axinc
Published in
11 min readJan 12, 2020

--

ailia SDKをPythonで使用するチュートリアルです。ailia SDKを利用することでPythonを使用したディープラーニングの推論をGPUを使用して高速に行うことができます。ailia SDKについて詳しくはこちらをご覧ください。

ailia SDKのダウンロード

ailia SDKの評価版をax株式会社のWEBサイトから申し込みします。申し込みフォームに入力すると、自動的に、ダウンロードURLと評価用のライセンスファイルがメールで送付されます。

ailia SDKをダウンロードして展開すると、下記のような配置となっています。

SDKに含まれる、pythonフォルダとlibraryフォルダの中にあるライブラリを下記の手順でコピーすることで、Pythonからailia SDKを使用できるようになります。

Pythonとライブラリのインストール

macOS

macOS 12.6 Monterey以降の場合はPython3が標準でインストールされています。

macOS 12.5以前の場合はPython2がインストールされていますので、brewを使用してPython3をインストールします。

下記のサイトからBrewをインストールします。

Brewをインストール後、下記のコマンドでPython3をインストールします。

brew install python3

Windows

Windowsの場合は下記のサイトからPython 3.7をインストールします。

コマンドプロンプトを開いて、python3とタイプして実行できることを確認します。コマンドプロンプトが見つからない場合、Windows10のサーチバーからcommandと入力してください。

この状態でVulkanを使用したGPU推論が可能です。

nVidia GPUにおいては、cuDNNを使用することもできます。cuDNNを使用する場合、CUDA Toolkit 9.1以上とcuDNN 7.5.0以上をインストールしてください。cuDNNのインストールにはnVidia Developerへの登録が必要です。

Linux

Ubuntu 18.04 LTSではPython3はすでにインストールされていますが、パッケージ管理ツールのpipはインストールされていませんので、インストールします。

apt install python3-pip

Vulkanを使用する場合は、Vulkanのライブラリをインストールします。

apt install libvulkan1

この状態でCPUとVulkanは動作しますが、cuDNNを使用する場合はCUDA ToolkitとcuDNNをインストールします。

cuDNNはダウンロード後、下記のコマンドでインストール可能です。

sudo dpkg -i libcudnn7_7.6.5.32–1+cuda10.1_amd64.deb

Jetson

Jetsonでは、Jetpackの中にcuDNNとOpenCVを含む各種のライブラリが標準でインストールされています。ailia SDK 1.2.3ではJetpack4.2とcuDNN7を使用します。ailia SDK 1.2.4以降ではJetpack4.4とcuDNN8も使用することができます。Ubuntuのバージョンは18.04LTS以降に対応しています。

Python3はすでにインストールされていますが、パッケージ管理ツールのpipはインストールされていませんので、インストールします。

apt install python3-pip

numpyをインストールします。numpyのインストールにはcythonが必要なため、事前にインストールします。

pip3 install cython
pip3 install numpy

Jetpackには標準でopencvが含まれますが、Jetpackがインストールされておらず、opencvでエラーが発生する場合は、下記のコマンドでJetpackをインストールします。

apt install nvidia-jetpack

Raspberry Pi

Raspberry Pi OS (32-bit) with desktop and recommended software(
August 2020)をダウンロードしてbalenaEtcherを使用して書き込みます。

Raspberry Pi OS August 2020にはPythonは3.7.3がインストールされています。

必要なライブラリをインストールします。

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

ailia SDKのインストール

pipを使用してailia SDKをインストールします。ailia SDKのpythonフォルダに移動し、下記のコマンドを実行してください。

cd ailia_sdk_1_25/python
python3 bootstrap.py
pip3 install ./

ライセンスファイルの配置

評価版の実行にはライセンスファイルが必要であり、ailia SDKのインストール時にライセンスファイルが要求されます。

ailia SDKのダウンロードURLが記載されたメールに記載のライセンスファイルのURLを入力するか、ライセンスファイルのパスを指定してください。

ライセンスファイルが存在しない状態でサンプルを実行した場合、ailia.core.AiliaLicenseNotFoundExceptionが発生します。

サンプルの実行

ailia-modelsのダウンロード

サンプルにはailia-modelsを使用します。ailia-modelsはPython 3.6以降に対応しています。

まず、下記のサイトにアクセスしてください。

Clone or Downloadからzipでダウンロードします。

zipのダウンロードの代わりに、git cloneすることもできます。

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

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

サンプルプログラムではOpenCV、numpy、request、urllib、matplotlib、scipyを使用しています。

JetsonとRaspberry Pi以外(Windows、Mac、Linux)の場合は、下記のコマンドでインストールします。

pip3 install -r requirements.txt

JetsonとRaspberryPiの場合は、requirements.txtに含まれている複数のライブラリが使用できませんので、下記のコマンドでインストールします。

Jetson

sudo apt-get install python3-matplotlib
sudo apt-get install python3-scipy

Raspberry Pi

pip3 install matplotlib
pip3 install scikit-image

これで、Pythonからailia SDKが使用できるようになります。

サンプルの実行

ailia-models/image_classification/resnet50フォルダに移動します。

このフォルダでコマンドプロンプトもしくはターミナルを開き、下記のコマンドを実行します。

python3 resnet50.py

すると、ailia SDKを使用して推論結果を得ることができます。

ailia-modelsではフォルダごとに異なる種類のモデルが格納されています。270種類以上のモデルが用意されていますので、ぜひ、色々なモデルを動かしてみてください。

トラブルシューティング

Windowsにscipyをインストールできない

下記のサイトからnumpy‑1.21.3+mkl‑cp310‑cp310‑win_amd64.whlとscipy-1.7.1-cp310-cp310-win_amd64.whlをダウンロードし、pip install numpy‑1.21.3+mkl‑cp310‑cp310‑win_amd64.whlとpip install scipy-1.7.1-cp310-cp310-win_amd64.whlでインストールしてください。

ax株式会社はAIを実用化する会社として、クロスプラットフォームでGPUを使用した高速な推論を行うことができるailia SDKを開発しています。ax株式会社ではコンサルティングからモデル作成、SDKの提供、AIを利用したアプリ・システム開発、サポートまで、 AIに関するトータルソリューションを提供していますのでお気軽にお問い合わせください。

--

--

Kazuki Kyakuno
axinc

CTO — ax Inc. , Managing Director — AXELL