axinc
Published in

axinc

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

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

ailia SDKのダウンロード

ailia SDKの評価版をailiaのWEBサイトからダウンロードします。

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

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

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

macOS

Macの場合はデフォルトではPython2が入っていますので、brewを使用してPython3をインストールします。

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

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

brew install python3

Windows

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

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

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

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

実行時にVCAMP140.DLLが見つかりませんというエラーが発生する場合は、下記の「VisualC++ 再頒布可能パッケージ」をインストールしてください。

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のインストール

ailia SDK 1.2.5以降ではpipを使用してailia SDKをインストールすることができます。ailia SDKのpythonフォルダに移動し、下記のコマンドを実行してください。

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

ailia SDK 1.2.4以前の場合はsite-packagesにailia SDKのpythonフォルダにあるailiaフォルダをコピーし、コピーしたailiaフォルダの中にlibrary/[OS]フォルダにあるライブラリ(dylib、so、dll)をコピーします。

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

評価版の実行にはライセンスファイルが必要です。

ailia SDK 1.2.9以降では評価版のインストール時にライセンスファイルが要求されます。ailia SDKのダウンロードURLが記載されたメールに記載のライセンスファイルのURLを入力するか、ライセンスファイルのパスを指定してください。

ailia SDK 1.2.8以前の場合、Windowsの場合は ailia.dllと同じフォルダ([pythonパス]/site-packages/ailia)、Macの場合は~/Library/SHALO/にライセンスファイルを配置してください。

Windowsの場合、site-packagesのパスは下記のコマンドで確認することができます。出力されるLocationが配置先のパスです。

pip3 show ailia

例えば、c:/Python37/Lib/site-packages/ailiaなどが配置先のパスとなります。

Windowsにおけるライセンスファイルの配置

Macの場合、Finderのメニューの「移動」から、「フォルダの場所を入力」で~/Libraryを指定して移動後、SHALOフォルダを作成し、そこにライセンスファイルを配置します。

Finderからフォルダへ移動
~/Libraryと入力
SHALOフォルダを作成
ライセンスファイルを配置

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

サンプルの実行

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

トラブルシューティング

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に関するトータルソリューションを提供していますのでお気軽にお問い合わせください。

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store