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などが配置先のパスとなります。
Macの場合、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に関するトータルソリューションを提供していますのでお気軽にお問い合わせください。