もくじ
はじめに
最近では技術革新に伴い、ML(機械学習)を使った製品・サービスが徐々にリリースされるようになってきました。一方で、課題としてML(機械学習) を開発するための工数やノウハウ不足により開発が思うように進まないなどが挙げられています。
そんな中 NXP では、ML 導入の様々な障壁を解決するため、「eIQ 機械学習 (ML) ソフトウェア開発環境」を提供しております。
eIQ 機械学習ソフトウェア開発環境 には、TensorFlow Lite、Glow、ArmNN および Arm CMSIS-NN に対応した各種推論エンジン、NN コンパイラ、ソフトウェアライブラリーが含まれており、NXP マイコン/プロセッサー上で ML アルゴリズムを展開し ML アプリケーションを動かす為に必要な要素が全て用意されております。
また、容易に ML モデル開発が行える 「eIQ Toolkit」を使用すると、既存の ML データセットから ML モデルを開発したり、既存のモデルをインポートして調整を加えることもできます。
参考:eIQ 機械学習 (ML) ソフトウェア開発環境 | NXP Semiconductors
参考:eIQ Toolkit | NXP Semiconductors
参考:eIQ Toolkit User Guide| NXP Semiconductors
参考:eIQ Fact Sheet| NXP Semiconductors
1. eIQ 機械学習 (ML) ソフトウェア開発環境 とは
eIQ 機械学習 (ML) ソフトウェア開発環境 は 図1 にあるように、NXP が提供するマイコン/プロセッサーで ML アプリケーションを実行する為に必要なソフトウェア・ライブラリーと ML モデル開発環境 eIQ Toolkit が用意されています。
ソフトウェア・ライブラリー は 最新の Yocto Linux BSP 、MCUXpresso SDK にて提供されています。
eIQ Tookit は eIQ® Toolkit | NXP Semiconductors からダウンロード頂けます。
図1:eIQ® 機械学習 (ML) ソフトウェア開発環境 の構成
eIQ® ML ソフトウェア開発環境がサポートしているデバイスと推論エンジンの関係性は 図2 にある通りです。
図2:eIQ® 機械学習 (ML) ソフトウェア開発環境のサポート状況
引用:eIQ Fact Sheet| NXP Semiconductors
ターゲットデバイスがサポートする推論エンジンに対応した ML モデル を予めお持ちの場合は、eIQ に含まれる推論エンジンとソフトウェア・ライブラリーを使用して、AI アプリケーションを開発することができます。
ML モデルをお持ちでない場合や ML モデルを NXP デバイス向けに最適化したい場合は、
eIQ Toolkit を使用して、Bring Your Own Data (BYOD) や Bring Your Own Model (BYOM) の開発フロー(2-1. eIQ Toolkit での ML モデル開発フロー で解説)で ML モデルを開発してから、AI アプリケーションの開発に進むことができます。
2. eIQ Toolkit とは
eIQ ToolKit は、「ML データセットの作成/最適化」「ML モデルのトレー二ング」「ML モデルの解析/最適化/モデル変換」を GUI で行える ML モデル開発ツールです。
ユーザーは eIQ ToolKit を使うことで、NXP プロセッサー・マイコン製品に最適された ML モデルを開発することができます。
表1 は eIQ ToolKit に含まれるコンポーネント一覧です。
eIQ Portal | 直感的かつ容易な GUI を使ってプロジェクト作成し、データセットと画像をインポートし、トレーニングと評価を行うツールです。画像分類と物体検出のモデルを作成できます。 |
eIQ Model Tool |
直感的かつ容易な GUI を使って ML モデルのパフォーマンス分析・プロファイリングを行うツールです。学習済みモデルを解析し、NXP プロセッサー/マイコン向けにディプロイするために最適化処理を行います。 |
eIQ Command-line Tools |
GUI ベースの eIQ Portal, eIQ Model Tool のタスクをコマンドプロンプトで実行します。さらに、GUI では使用できない追加機能を提供します。 |
図 3、図 4 は各種ツールのイメージ画像です。
図3:eIQ Portal のイメージ
図4:eIQ Model Tool のイメージ
引用:eIQ Toolkit User Guide| NXP Semiconductors
2-1. eIQ Toolkit での ML モデル開発フロー
eIQ Toolkit では、2つの開発アプローチがあります。
開発フロー |
概要 | 使用する eIQ ToolKit のコンポーネント |
Bring Your Own Data (BYOD) |
お持ちの ML データセットをベースにデータセットの拡張やトレーニングを行い、ML モデルを生成をします。 |
「eIQ Portal」 or |
Bring Your Own Model (BYOM) |
お持ちの ML モデルを Viewr で確認し、最適化、モデル変換後、ML モデルを生成します。 |
「eIQ Portal / Model Tool」or |
図4:eIQ Toolkit ML モデルの開発フロー
引用:eIQ Fact Sheet| NXP Semiconductors
3. デモ動画
これらデモは、最大 2.3TOPS で動作する i.MX 8M Plus アプリケーション・プロセッサの Neural Processing Unit(NPU)で動作しているデモです。H.264 720p30 ビデオストリームは、ビデオ・プロセッシング・ユニット(VPU)でデコードされ、GPU を経由して NPU で AI 処理させています。
機械学習モデルには MobileNet V2 SSD を採用し、推論エンジンには TensorFlow Lite を使用しています。 |
機械学習モデルには PoseNet(Google Coral project-posenetで開発されたもの)を採用し、推論エンジンには TensorFlow Lite を使用しています。 |
4. 参考トレーニング動画と資料
- ML トレーングビデオ Top Page
- eIQ Toolkit Overview
- eIQ Toolkit の BYOD 開発フロー概要
- eIQ Toolkit の BYOM 開発フロー概要
[eIQ 初心者ガイド 1]へ |