ailia SDK

あらゆるバインディングの中核となる ONNX 推論 API です。

はじめに

プラットフォームを選び、最初の推論を動かすまでの手順を確認してください。

1

インストール

ailia の Python パッケージを PyPI からインストールします。Python 3.6 以降が必要です。

pip3 install ailia
PyPI で見る
2

サンプルを実行

ailia-models には 400 種類以上のすぐに実行できる推論スクリプトが含まれています。一度クローンして共通の依存をインストールしたあと、各モデルのフォルダへ cd して実行するだけです。-v 0 で Web カメラ入力、-i image.png で静止画、フラグを省略すると同梱のデモ入力が使われます。リポジトリ直下の python3 launcher.py を起動すると、すべてのモデルを GUI で参照できます。

git clone https://github.com/ailia-ai/ailia-models.git
cd ailia-models
pip3 install -r requirements.txt
cd object_detection/yolox
python3 yolox.py -v 0
サンプルリポジトリ (400+ models)

動作環境

ailia SDK はデスクトップ、モバイル、組み込みなど幅広いプラットフォームと GPU バックエンドで動作します。

対応 OS

  • Windows 10 / 11
  • macOS 11 以降
  • Linux (Ubuntu 20.04 以降)
  • iOS 13+
  • Android 7+
  • Jetson / Raspberry Pi

言語

  • Python 3.6 以降
  • C++17
  • C# / Unity 2021.3.10f1 以降
  • Kotlin / Java (JNI)
  • Dart / Flutter 3.19+

GPU アクセラレーション

  • NVIDIA CUDA
  • Apple Metal
  • Vulkan (クロスプラットフォーム)
  • Intel MKL
  • NNAPI 経由の NPU (Android)

モデル形式

  • ONNX (主要形式)
  • TFLite (ailia TFLite Runtime 経由)
  • GGUF (ailia LLM 経由)
  • PyTorch / TensorFlow / Keras から変換

プロジェクトで API を使う

ONNX モデルを読み込み推論を実行する最小サンプル。

import ailia
import numpy as np

# stream=None lets ailia derive the graph from the .onnx file
net = ailia.Net(stream=None, weight="model.onnx")

input_tensor = np.zeros((1, 3, 224, 224), dtype=np.float32)
output = net.run(input_tensor)
print(output[0].shape)

プラットフォーム別 API リファレンス

よくある質問

ailia SDK を初めて使う方からよく寄せられる質問です。

評価ライセンスと製品ライセンスはどう違いますか?

評価ライセンスは Python / Unity / Flutter / JNI では実行時に自動でダウンロードされ、C++ では 1 か月有効です。開発・評価用に限ります。

商用リリース・再配布・長期利用には製品ライセンスを申し込んでください。詳細は ailia ライセンス規約 を参照してください。

CPU / GPU はどう切り替えますか?

ailia.Net()env_id を渡します。利用可能な環境 (CPU / CUDA / Metal / Vulkan / MKL / NNAPI) は ailia.get_environment_list() で取得できます。

デフォルトでは ailia がプラットフォーム上で最速の環境を自動選択します。

ダウンロードしたモデルファイルはどこに保存されますか?

ailia-models のサンプルスクリプトは初回実行時に .onnx.onnx.prototxt をモデルディレクトリへダウンロードし、2 回目以降はキャッシュを再利用します。

ailia Speech と ailia Voice では ./models/ にダウンロードされます。initialize_model(model_path=...) で変更できます。

ailia SDK はオフラインで動作しますか?

はい、初回実行後はオフラインで動作します。評価ライセンスと自動ダウンロードされるモデルは初回のみインターネット接続が必要で、キャッシュされた後はオフラインで推論できます。

C++ ではバインディングリポジトリの download_license.py でライセンスを 1 度だけ取得します。

PyTorch や TensorFlow のモデルを ailia 向け ONNX に変換するには?

各フレームワーク標準のツール (torch.onnx.exporttf2onnx など) で ONNX に書き出し、ailia SDK 同梱のスクリプトで対応する .onnx.prototxt を生成してください。

詳しい手順は モデル変換チュートリアル を参照してください。

サポートはどこで受けられますか?

サンプルリポジトリのバグ報告や質問は該当の GitHub リポジトリで Issue を立ててください。SDK ライセンスや商用に関するお問い合わせは アイリア株式会社 までご連絡ください。

資料