組込みAI推論エンジン · TFLite互換 · C99実装

NonOSでも、RTOSでも、
AIが動く。
アイリア TFLite。

C99実装のTensorFlow Lite互換推論エンジンです。公式TFLiteが動作しないNonOS・RTOS環境でのAI推論を実現します。 AndroidではNNAPIを通じたNPU高速推論に対応し、x86 / Armの両環境でInt8モデルを高速処理できます。

対応フォーマット: .tflite(変換不要)/ 実装言語: C99
対応環境: NonOS / RTOS / Android / Windows / macOS / Linux

C99実装 NonOS / RTOS対応 NPU推論(NNAPI) TFLite互換API x86 MKL高速化 Int8量子化対応 モデル変換不要 Unity Package提供
ailia TFLite 対応環境イメージ

対応フォーマット: .tflite(変換不要)/ 実装言語: C99
対応環境: NonOS / RTOS / Android / Windows / macOS / Linux

C99実装 NonOS / RTOS対応 NPU推論(NNAPI) TFLite互換API x86 MKL高速化 Int8量子化対応 モデル変換不要 Unity Package提供

公式TFLiteが
届かない場所

組込み開発の現場で起きがちな課題と、アイリア TFLiteによる解決策です。

公式TFLite / デバイスベンダーSDKの課題

✕ C++依存のため、NonOSやRTOS環境では動作しない
✕ デバイスベンダーSDKはモデル変換が必要 → 変換エラー・精度劣化のリスク
✕ 公式TFLiteのInt8実装はx86非最適化 → PCでも速度が出ない
✕ NPU非対応レイヤー(NonMaxSuppression等)を含むグラフは推論不可
✕ C++依存のメモリ管理が組込みのメモリ制約に対応困難

アイリア TFLite の解決策

✓ C99実装。NonOS・RTOSを含むあらゆる組込み環境で動作
✓ Tfliteをランタイムで直接パース。変換不要・精度劣化・変換エラーなし
✓ 独自の最適化により、x86 Int8推論を大幅に高速化
✓ NNAPIでサブグラフ自動分割。NPU非対応レイヤーはCPUにオフロードして完走
✓ C APIはメモリアロケータを引数で指定可能。組込みのメモリ管理に対応

公式TFLite・ベンダーSDKとの
3社比較

組込みAI導入時の技術的な差分を一覧で確認できます。

機能・特性 アイリア
TFLite
公式
TensorFlow Lite
デバイス
ベンダーSDK
NonOS / RTOS 動作
OSなし・リアルタイムOSでのAI推論
✓ ✗ ✗
サブグラフ自動分割
NPU非対応レイヤーをCPUにオフロード
✓ △ ✗
C APIのメモリ管理カスタマイズ
組込みのアロケータを指定可能
✓ ✗ △ 機種依存
モデル変換不要
.tfliteをそのままランタイムで実行
✓ ✓ ✗
x86 Int8高速化(MKL)
PC環境でのInt8モデル高速推論
✓ △ ✗
TFLite互換 Python API
importを書き換えるだけで移行
✓ ✓ ✗
NPU推論(NNAPI)
AndroidでNPUを使った高速推論
✓ △ 一部 ✓
Unity Packageとして提供
UnityアプリへのNPU推論組み込み
✓ ✗ ✗
💡 ポイント: 公式TFLiteはNonOS/RTOSで動作しません。デバイスベンダーSDKはモデル変換が必要なため変換エラーや精度劣化のリスクがあります。 アイリア TFLiteはこれら2つの課題を同時に解決し、.tfliteをそのまま組込み環境で動かすことができます。

組込みAIを実現する
6つの強み

🔩

C99実装 — NonOS / RTOS対応

C++に依存しないC99実装のため、公式TFLiteが動作しないNonOSやRTOS環境でもAI推論を実装できます。

C99 / RTOS対応
📦

モデル変換不要 — tfliteを直接パース

デバイスベンダーSDKとは異なり、ランタイムで直接tfliteファイルをパースします。モデル変換による精度劣化・変換エラーのリスクをゼロにできます。

変換コスト ゼロ

NPU推論 — NNAPIサブグラフ自動分割

AndroidのNNAPIを通じてNPU推論を実行。NNAPIに非対応のレイヤー(NonMaxSuppression等)を含む複雑なグラフも、自動サブグラフ分割によりNPU+CPUで完走させます。

NPU / NNAPI
🖥

x86 MKL高速化 — PC環境でも有効

Intel MKLを使用したx86最適化済み実装により、公式TFLiteが未最適化のInt8モデル推論でも大幅な高速化が可能です。PC環境でのプロトタイピングにも活用できます。

x86 MKL最適化
🔗

TFLite互換Python API

公式TFLite Pythonと完全互換のAPIを提供。importを1行書き換えるだけで既存コードをアイリア TFLiteに置き換えられます。C APIはメモリアロケータを引数で指定可能です。

import 1行変更
📉

Int8量子化 — メモリ使用量1/4

Float / Int8モデル両方に対応。Int8モデルの使用でメモリ使用量を約1/4に削減できます。ResNet50の例:Float(102.2MB)→ Int8(26.3MB)。メモリ制約の厳しい組込み機器に最適です。

メモリ 1/4

importを1行変えるだけ。
TFLite互換API

公式TFLite PythonのInterpreterと完全互換のAPIです。既存コードへの変更はimport文の1行のみです。

公式 TensorFlow Lite tensorflow.lite
# 公式TFLiteのimport
from tensorflow.lite.python.interpreter import Interpreter

interpreter = Interpreter(
    model_path="face_detection_front.tflite"
)
interpreter.allocate_tensors()
input_details  = interpreter.get_input_details()
output_details = interpreter.get_output_details()

interpreter.set_tensor(
    input_details[0]['index'],
    input_data
)
interpreter.invoke()

output = interpreter.get_tensor(
    output_details[0]['index']
)
ailia TFLite ailia_tflite
# ← ここだけ変更(1行)
from ailia_tflite import Interpreter

interpreter = Interpreter(
    model_path="face_detection_front.tflite"
)
interpreter.allocate_tensors()
input_details  = interpreter.get_input_details()
output_details = interpreter.get_output_details()

interpreter.set_tensor(
    input_details[0]['index'],
    input_data
)
interpreter.invoke()

output = interpreter.get_tensor(
    output_details[0]['index']
)
差分は1行だけ。 allocate_tensors()set_tensor()invoke()get_tensor() はすべて公式TFLite互換です。ビジネスロジックの変更は不要です。

NonOSから
Androidまで

組込みからモバイルまで、一貫したAPIで対応します。

🔩

NonOS / RTOS

C99実装で、OSなし・RTOSの組込み環境に対応。リソースの限られた組込み機器でのAI推論を実現します。

C99 Arm Cortex-A RTOS
Android

Android

NNAPIを通じてNPU高速推論。YOLOXなど複雑グラフもサブグラフ分割で動作。Unity Packageとして提供。

NNAPI / NPU Unity Package arm64
🖥

Windows / macOS / Linux

Python APIでPC環境に対応。Intel MKLによるx86高速化。開発・プロトタイピングから本番まで使用可能。

Python Intel MKL x86_64

リソース制約のある
組込み現場での活用

公式TFLiteが届かない環境やNPU推論が必要な場面での活用例です。

組込み機器 · NonOS / RTOS

RTOSデバイスへのAI推論実装

公式TFLiteが動作しないNonOSやRTOS環境に、アイリア TFLiteのC99実装でAIを組み込み。モデル変換なしでtfliteを直接実行し、変換エラーのリスクを排除。

NonOS / RTOS C99 API Int8量子化

Androidアプリ · NPU推論

スマートフォンNPUによる超高速推論

アイリア TFLiteのNNAPIサポートで、MediaTekやQualcommのNPUを使ったリアルタイム推論を実現。YOLOXなど複雑グラフもサブグラフ分割で動作。CPU比最大15倍の高速化。

NNAPI / NPU Android Int8量子化 Unity連携

PC / サーバー · x86高速化

x86 PCでのInt8モデル高速推論

公式TFLiteが最適化していないx86 Int8推論を、Intel MKLで大幅に高速化。組込みと共通のAPIでPC→デバイスの移植もスムーズ。

x86 MKL Windows / Linux Python API Int8高速化

まず試して、
動いたら相談。

評価版は手持ちのtfliteモデルですぐ試せます。推論回数による追加課金は一切ありません。

Tier 01

評価版

無料・クレジットカード不要


  • ✓全機能を評価期間中利用可能
  • ✓Python / C API 両対応
  • ✓Windows / macOS / Linux対応
  • ✓ailia-models-tfliteのサンプルモデルで即試せる
  • - 商用配布・本番リリース
  • - 第三者へのPoC提供
評価版SDKをダウンロード →

手元のtfliteで
今日から試す。

変換不要。手持ちのtfliteモデルで即試せます。pipでインストールし、importを1行書き換えるだけです。

STEP 00

手元の.tfliteモデルを確認する

Float・Int8どちらのモデルでも動作します。変換は不要です。

STEP 01

pipでインストール

pip install ailia_tflite — 数秒でインストール完了。

STEP 02

importを1行書き換える

from ailia_tflite import Interpreter に変更するだけ。それ以外のコードは変更不要。

STEP 03

最初の推論を実行

サンプルモデルはailia-models-tfliteで多数公開しています。

STEP 04

商用化が決まったらご相談ください

用途・デバイス数・配布形態をお知らせください。相談・見積もりは無料です。