ailia Tech BLOG

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

ailia SDKをPythonで使用するチュートリアルです。ailia SDKとailia MODELSを使用することで、簡単に様々なAIを実行することができます。ailia SDKについて詳しくはこちらをご覧ください。

PythonとGPUドライバのインストール

macOS

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

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

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

HomebrewThe Missing Package Manager for macOS (or Linux).brew.sh

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

brew install python3

Windows

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

Python Releases for WindowsThe official home of the Python Programming Languagewww.python.org

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

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

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

Windows PCにCUDA ToolkitとcuDNNを導入するWindows PCにCUDA ToolkitとcuDNNを導入する方法を解説します。medium.com

Linux

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

apt install python3-pip

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

apt install libvulkan1

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

CUDA Toolkit 10.2 DownloadSelect Target Platform Click on the green buttons that describe your target platform. Only supported platforms will be…developer.nvidia.com

NVIDIA cuDNNNVIDIA cuDNN The NVIDIA CUDA Deep Neural Network library (cuDNN) is a GPU-accelerated library of primitives for deep…developer.nvidia.com

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

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

apt install nvidia-jetpack

Raspberry Pi

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

Download Raspberry Pi OS for Raspberry PiRaspberry Pi OS (previously called Raspbian) is the Foundation’s official supported operating system. You can install…www.raspberrypi.org

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

ailia SDKのインストール

ailia SDKの評価版のインストール

下記のコマンドでailia SDKをインストールします。

pip3 install ailia

必要なライセンスファイルは実行時に自動的にダウンロードされます。

上記のコマンドだけでailia SDKをPythonから使用することが可能ですが、より詳細なドキュメントが必要な場合は、ailia SDKの評価版をアイリア株式会社のWEBサイトから申し込みします。申し込みフォームに入力すると、自動的に、ダウンロードURLと評価用のライセンスファイルがメールで送付されます。

ailia Inc.アイリア株式会社のコーポレートサイトです。あらゆるデバイスにAI が載る未来。そのような未来が来ることを我々は信じています。その未来に向けて我々は高速なSDK を開発し、最新のAI モデルを常に研究し続けます。ax 株式会社は最新のAI…ailia.ai

ailia SDKのプロダクション版のインストール

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

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

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

サンプルの実行

ailia MODELSのダウンロード

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

ailia MODELSを使用するには、下記のサイトをCloneします。

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

ailia-ai/ailia-modelsPretrained models for ailia SDK. Contribute to ailia-ai/ailia-models development by creating an account on GitHub.github.com

gitがインストールされていない場合は、「Clone or Download」からzipでダウンロードすることも可能です。

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

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

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

pip3 install -r requirements.txt

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

Jetson

pip3 install cython  
pip3 install numpy  
sudo apt-get install python3-matplotlib  
sudo apt-get install python3-scipy

Raspberry Pi

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

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

サンプルの実行

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

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

python3 resnet50.py

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

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

関連情報

ailia SDKをブラウザから使用する場合は下記のチュートリアルを参照してください。

Google Colaboratoryとailia MODELSを使用してブラウザだけでAI処理を行うGoogle Colaboratoryとailia MODELSを使用してブラウザだけで簡単にAI処理を実行する方法を解説します。medium.com

トラブルシューティング

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でインストールしてください。

Python Extension Packages for Windows - Christoph GohlkeThe binaries are compatible with the most recent official CPython distributions on Windows >=6.0. Chances are they do…www.lfd.uci.edu


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