【ATU Book-i.MX8 系列 - PyeIQ】PyeIQ 介紹

一.   概述

隨著深度學習越來越火熱,近年恩智浦 NXP 也開始著手部屬相關的應用 ; 就如人臉識別、物件識別、物件分類、肢體分析等等...故規劃出一套相當完善的 機器學習開發環境 eIQ/PyeIQ/eIQ Auto 並應用於專門為 i.MX8 系列。這能夠幫助使用者快速開發與應用機器學習,輕鬆入門機器學習的領域 !!

此文章將以系列博文的方式呈現 PyeIQ 的介紹。如下圖文章架構圖所示,此 機器學習開發環境 PyeIQ 是隸屬 eIQ(edge intelligence) 機器學習開發環境 - 應用層 的子系列 !!此篇文章將逐一介紹 ; 什麼是 PyeIQ ? 什麼是 eIQ ? 什麼是 eIQ Auto ? 再來介紹此篇的主題 PyeIQ 的介紹、以及 1.x 與 2.x 版本的差異 !

*** 此文章系列將以 NXP i.MX8M Plus 開發平台為主


PyeIQ 系列博文 - 文章架構示意圖

 

二.  什麼是 eIQ ? 什麼是 PyeIQ ? 什麼是 eIQ Auto ? eIQ 種類介紹

eIQ (edge intelligence) 是 NXP 所開發的機器學習開發環境。

因避免混淆,故在此釐清 eIQ / PyeIQ / eIQ Auto 各別的應用方向與說明。如圖下所示,在 NXP i.MX8 系列的 eIQ 與 PyeIQ,以最簡單的方式來區分的話,就僅是 C / C ++ 與 Python 的平台差異。因近年機器學習與 Python 火熱快速發展,Python 更是研究人工智能與深度學習的主要程式語言,可運用現有大量的資料庫快速訓練模型與測試。故透過 NXP 所量身打造的 PyeIQ 機器學習開發環境,就能無縫銜接!


在 NXP S32V 系列的 eIQ 機器學習開發環境就稱作 eIQ Auto !! 

大大通精彩方案    S32V 下的 eIQ auto 的安装使用简介分享


NXP eIQ 各機器學習開發環境之示意圖

 

在機器學習領域中,不外乎就是定義模型、訓練模型、最佳化模型、轉換模型、進行推理等流程步驟 !!
而 eIQ 機器學習開發環境則是著重於 推理層(Inferenece) 的應用, NXP 將提供數種機器學習框架的推理引擎,如 Tensorflow Lite 、 ArmNN 、 ONNX 、OpenCV 等等 !! 給予使用者相當完善完整的環境,能夠將應用無痛轉移至 i.MX8 平台上 !! 


eIQ 機器學習開發環境之定位示意圖

 

三.  PyeIQ 介紹

PyeIQ 是 NXP 量身打造的 Python 機器學習開發環境(套件)。


如下圖所示,該套件裡面整合 OpenCV 4.2、Tensorflow Lite 2.2.0 、 ArmNN 20.02、 ONNX 1.2 等開源推理引擎(Inference Engines)。
並提供相當豐富的硬體加速應用資源,像是 Arm Compute Libray、OpenCL、OpenVX ,可以直接向 CPU (Arm Cotex-A)、GPU(GC7000) 與 神經網路加速器 NPU(Vivante VIP8000) 溝通來達到硬體加速的目標 ! 


PyeIQ 機器學習開發環境架構示意圖

 

此外,亦提供數個範例讓開發者快速上手。
如下圖所示,含有 SSD + MobileNet 、YOLOv3、DNN 物件偵測(Object Classification) 與車輛偵測(vehicle detection)、 人臉/人眼識別(Face/Eyes Detection) 等等應用。最後提供一個物件分類 DEMO讓使用者可以快速體驗不同核心運行的執行速度,以標準模組 Mobilenet V1 實作測試推理時間 ; 運行於i.MX8QM CPU 約 92.3 ms 、 i.MX8QM GPU 約 12.5 ms 、i.MX8MPlus NPU 約 2.5 ms !!


PyeIQ 機器學習開發環境 DEMO 示意圖

 

PyeIQ 1.x 與 2.x 機器學習開發環境所包含的架構大致上相同,只是呈現方式不同。
PyeIQ 1.x 為恩智浦最初設計的版本,是以直接引用 .py 檔即可運行相關 DEMO ,PyeIQ 2.x 為 1.x 的改良版,並將整個軟體架構整合至類別 Class 中,讓整個套件更加完整、系統化 !  因此 PyeIQ 1.x 與 2.x 使用方式大有不同 ! 而 PyeIQ 2.x 是 NXP 恩智浦目前主要推廣的現行版本!! 後續系列文章,將各別介紹 “PyeIQ 1.0 安裝與應用” 與 “PyeIQ 2.0 安裝與應用” ,敬請期待!!! 

 

補充說明 - PyeIQ 支援平台 : 

 

 

四.  參考文件

[1] NXP Community - PyeIQ 1.x 網站
[2] NXP Community - PyeIQ 2.x 網站

如有任何相關 PyeIQ  技術問題,歡迎至博文底下留言提問 !!
接下來還會分享更多 PyeIQ  的技術文章 !!敬請期待 【ATU Book-i.MX8 系列 - PyeIQ】 !!

★博文內容均由個人提供,與平台無關,如有違法或侵權,請與網站管理員聯繫。

★文明上網,請理性發言。內容一周內被舉報5次,發文人進小黑屋喔~

評論