見出し画像

クライアントサイドの機械学習の推論エンジン

クライアントサイドの機械学習の推論エンジンをまとめてみました。

1. Unity Inference Engine(Barracuda)

「Unity ML-Agents」で使われている「Unity」で利用可能な推論エンジン。
デスクトップ、スマートフォン、ゲーム機、AR/VRグラスなど多くのデバイスで利用可能。強化学習の推論は得意だが、教師あり学習の推論は制限が多く限定的。

◎ モデル
・ONNXモデル / TensorFlowモデル(制限あり)

◎ 対応プラットフォーム
・デスクトップ
・スマートフォン (Android、iPhone)
・ゲーム機
・AR/VRグラス

2. TensorFlow

推論だけでなく学習も可能な深層学習フレームワーク。
開発環境のセットアップに専門知識が必要なため、一般ユーザー向けのデスクトップアプリの配布には不向き。

◎ モデル
・TensorFlowモデル

◎ 対応プラットフォーム
・デスクトップ
・Webアプリのサーバーサイド
・シングルボードコンピュータ (RasPi、Jetson) ※重い

3. TensorFlow.js

「Webブラウザ」「Node.js」で利用可能な推論エンジン。
一般ユーザー向けにクライアントアプリを配布したい時に利用。UnityをWebGL出力することで、Unityで利用することも可能。

◎ モデル
・TensorFlowモデル

◎ 対応プラットフォーム
・デスクトップ
・Webアプリのサーバーサイド
・Webアプリのフロントエンド
・スマートフォン (Android、iPhone)

4. TensorFlow Lite

スマートフォン、シングルボードコンピュータ、マイクロコントローラに特化した推論エンジン。低スペックなデバイスで高速推論を実現したい時に利用。

◎ モデル
・TensorFlow Liteモデル

◎ 対応プラットフォーム
・デスクトップ
・スマートフォン (Android, iPhone)
・シングルボードコンピュータ (RasPi、Jetson)
・マイクロコントローラ (Maix)

5. PyTorch

推論だけでなく学習も可能な深層学習フレームワーク。
開発環境のセットアップに専門知識が必要なため、一般ユーザー向けのデスクトップアプリの配布には不向き。

◎ モデル
・PyTorchモデル

◎ 対応プラットフォーム
・デスクトップ
・Webアプリのサーバーサイド
・シングルボードコンピュータ (RasPi、Jetson) ※重い

6. PyTorch Mobile

PyTorchモデル(TorchScript)をスマートフォンで利用できる推論エンジン。

◎ モデル
・PyTorchモデル (TorchScript)

◎ 対応プラットフォーム
・スマートフォン (Android、iPhone)

7. CoreML

Apple製品で利用可能な推論エンジン。
Apple製品の性能を最大限に活かすことが可能。

◎ モデル
・CoreMLモデル

◎ 対応プラットフォーム
・macOS
・iPhone
・Apple Watch


この記事が気に入ったらサポートをしてみませんか?