【ATU Book-i.MX8系列 - eIQ Toolkit】 eIQ Model Tool 快速使用介紹

一.   概述

伴隨著人工智慧、機器學習與深度學習的火熱盛行,恩智浦 NXP 也開始著手部屬 AI 領域的相關應用。設計了一套相當完善的機器學習開發環境 eIQ (edge intelligence),專門應用於 i.MX8 系列。而所謂的 eIQ Toolkit 開發工具 就是 eIQ 的衍伸產物。主要是用來輔佐初學者或是 AI 工程師來做模組的開發提供一整套完整的機器學習訓練方式以及模組轉換工具,所產出的模組能夠直接應用於 eIQ 的開發環境。

本文章將介紹 eIQ Toolkit 之中的 eIQ Model Tool 開發工具,主要是幫助開發者進行不同模組的轉換工具。如下圖所示,為系列博文之示意架構圖。此架構圖隸屬於 i.MX8M Plus 的方案博文中,並屬於 eIQ 機器學習開發環境 內的 應用層(Application Layer) – eIQ Toolkit 的子系列 !! 時不宜遲,趕快一起來看看 “eIQ Model Tool 快速使用介紹” 是如何輔助 AI 工程師進行模組轉換。

 

若新讀者欲理解人工智慧、機器學習以及深度學習的差異,可點選查閱下方博文
大大通精彩博文    探討機器學習與深度學習之差異

 

  

eIQ Toolkit系列博文-文章架構示意圖

 

 

二.  eIQ Toolkit 介紹

eIQ Toolkit 是專門為機器學習所設計的一套開發工具。

由 NXP 與 Au-Zone Technologies 團隊共同開發,並搭配淺顯易懂的 GUI 介面,讓開發人員可以快速直覺地創建、優化、調試、訓練、導出、佈署模組等等一整個系列的機器學習開發流程,能讓初學者快速進入至機器學習的領域中,並有助於理解 物件分類(Object Classification) 與 物件偵測(Object Detection) 的訓練及開發流程。

 

eIQ Toolkit 可分為 eIQ PortaleIQ Model Tool 兩大部分, 如下圖所示。

eIQ Portal : 提供一整套從載入資料庫、選擇最佳化目標、訓練、驗證與生成模組等機器學習佈署項目。
                    此部分屬於 Bring Your Own Data (BYOD) 的範疇,以 輸入資料/資料庫 為主。

eIQ Model Tool : 提供模組轉換的服務,如 Keras to TensorFlow Lite, ONNX to TensorFlow Lite 等等。
                             此部分屬於 Bring Your Own Model (BYOM) 的範疇,以 輸入模組(Model) 為主。

eIQ Command-line Tools : 亦可直接用下達指令方式來操作 eIQ Portal 與 eIQ Model Tool 的項目。

 

eIQ Toolkit 架構示意圖

 

Tip : 如何安裝 NXP eIQ Toolkit ?

進入官方網站 eIQ Toolkit for End-to-End Model Development and Deployment 的頁面點選下載。
點擊下載的 eIQ Toolkit v1.0.5 檔案,依序點選 Next 步驟即可。

 

 

三.  eIQ Model Tool 介紹與應用方式

eIQ Model Tool 是一套機器學習模組轉換的工具。

如上圖所示,僅需要按照流程由 載入與視覺化模組(Load and visualize model) 、 轉換與最佳化模組(Convert and optimize model) 、發佈模組(Deploy model to target) 等項目,即可進行模組轉換 !!同時,此工具提供 "UI 介面"  "Command Line" 這兩種使用方式。

 

eIQ Model Tool 應用方式 (UI 介面)

這裡,先直接帶領各位以 UI 介面的方式來使用 eIQ Model Tool 進行 模組轉換 的範例

步驟 1 : 開啟 eIQ Model Tool - > 點選 Open Model

 

此步驟選擇 \workspace\models\yolo_v4.h5 物件偵測模組作範例。
開啟成功後,即會看到該模組的架構圖

 

步驟 2 : 點選 File - > Convert

此步驟能將模組轉換輸出成 RTM / TFLite / ONNX 等模組格式。
故此範例演示將 Keras 轉成 TensorFlow Lite

 

接著,設定一些轉換細部項目 ; 比如輸入大小、量化設定、輸出節點等等。

 

設定完成後,點選 Convert 即開始轉換模組

 

轉換成功則會出現檔案儲存視窗,以及右下方或出現 Conversion Download 等訊息。

 

轉換失敗則會出現檔案儲存視窗,以及右下方或出現 Conversion Error 等訊息。


PS : 可惜的事,此工具不是萬能轉換器,並非所有模組都適用。

 

eIQ Model Tool 應用方式 (Command Line)

這裡,先直接帶領各位以 Command Line 的方式來使用 eIQ Model Tool 進行 模組轉換 的範例

步驟 1 : 開啟 eIQ Portal - > 點選 COMMAND LINE

 

步驟 2 : 於剛開啟的命令提示字元內輸入指令,開始轉換

轉換指令 : deepview-converter.exe <欲轉換的模組> <被轉換的模組>
細部指令查詢 : deepview-converter.exe -h

範例 A : 

$ deepview-converter workspace\mobilenet.h5 workspace\mobilenet_test.tflite

範例B:

$ deepview-converter workspace\models\yolo_v4\yolo_v4-tiny.h5 workspace\yolo_v4_test.tflite

範例C:

$ cd workspace\models\mobilenet_v1_1.0_224\
$ deepview-converter --labels labels.txt mobilenet_v1_1.0_224_quant.tflite mobilenet_v1_1.0_224_quant.rtm
( 執行檔放置於 \bin 底下 )

 

轉換成功,將於 workspace 資料下找到相應的模組

 

延伸應用:

如下表格,提供數個模組資源與代碼範例。

 

 

模組轉換 - DeepLab V3 (Keras to DeepViewRT) :

$ deepview-converter --default_shape 1,512,512,3 --quantize --quantize_format uint8 --quant_normalization signed
--samples imgs deeplab_nearest_best.h5 deeplab_nearest_best_uint8.rtm

模組轉換 - Object Detection (TensorFlow to TensorFlow Lite) :

$ deepview-converter --labels labels.txt --input_names Preprocessor/sub --output_names concat,concat_1
--default_shape 1,300,300,3 frozen_inference_graph.pb mobilenet_ssd_v1_1.00_trimmed.tflite

模組轉換 - Pose Estimation (TensorFlow to ONNX) :

$ deepview-converter --input_names sub_2
--output_names float_heatmaps,float_short_offsets,float_mid_offsets,float_segments
posenet_mobilenet_float_075_1_default_1.tflite posenet_mobilenet_float_075_1_default_1.onnx

四.  結語

經由上述的介紹,相信各位已經對 eIQ Model Tool 作用與目標有一定程度的了解,並已依照實作範例順利完成模組轉換了!! 故可以在後續的開發中,不仿試試藉由此工具來進行 ONNX / TensorFlow / DeepVeiwRT 各模組格式之間的轉換。能夠協助開發者更快速、更便利的開發!!

 

五.  參考文件

[1] 官方網站 - eIQ™ Toolkit for End-to-End Model Development and Deployment

[1] 官方網站 - eIQ Toolkit User's Guide.pdf

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


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

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

評論