iT邦幫忙

2024 iThome 鐵人賽

DAY 5
0
佛心分享-SideProject30

從零開始打造超邊緣AI應用系列 第 5

Day 5 - 初見 EdgeAI 工具

  • 分享至 

  • xImage
  •  

前言

前幾天已經介紹了基礎的 MCU 使用工具,而今天要來分享一下究竟有哪些 EdgeAI 工具(或 Framework 可以使用)

EdgeAI 究竟有哪些工具(or Frameworks)

首先,其實除了後續要使用的 ST EdgeAI 系列工具以外,還有存在非常多的 EdgeAI Framework,以下就先舉幾個例子:

  • TensorFloww Lite for Microcontrollers (TFLite Micro)
    大名鼎鼎的 TensorFlow 大家肯定有聽說過,而 TensorFlow Lite 則是針對小型化設備進行優化的一個分支(這邊的小型化設備比較像是具有 MPU,可以跑上 Linux 系統的設備,如 Raspberry Pi 或 Nvidia Jetson 系列),而 TFLite Micro 則是特別針對 MCU 設備進行優化的一個解釋器(interpreter),能夠根據 TFLite 的 Model 再 MCU 上進行推理。
  • CMSIS-NN
    CMSIS-NN 是 ARM 的開源專案 CMSIS 底下的一個分支,主要就是以支援所有 ARM Cortex-M 架構為目的所開發的 Neural network Library。
  • uTensor
    uTensor 其實是最近在搜集資料時發現的,好像是台灣的開源專案,也是一個針對遷入式系統以及 TensorFlow 的推理引擎。
  • Edge Impluse
    Edge Impluse 是一個公司,透過雲端推出可以快速建構針對邊緣運算的 end-to-end 平台,賣點就是幾乎可以不用自己寫任何一行 code 透過 GUI 就能夠實現邊緣部署 ML 模型。
  • STMicroelectronics' X-CUBE-AI
    這個就是接下來會使用的工具,也是 STMicroelectronics 針對自家生態系推出的 EdgeAI 解決方案。

底下是一個簡單的表格整理了幾個不同的 AI Frameworks / Tools 的差異:

工具/Frameworks 支援裝置(MCUs) 優點 缺點
X-Cube-AI STM32 MCUs 針對 STM32 系列優化並且容易透過 STM32Cube 系列工具使用 只能在 STM32 系列晶片使用
TFLite Micro 非常多的 MCU 都可使用 高彈性且活躍的開發社群 但並不一定有針對特定的硬體做優化
uTensor ARM Cortex-M MCUs(應該?) Lightweight 看起來還沒有很成熟
CMSIS-NN ARM Cortex-M MCUs 高效能且低記憶體使用 上手很有挑戰,幾乎都是非常底層的實現
Edge Impluse 許多裝置都支援 上手容易,而且功能超級多 必須使用雲端,而且相比於上述的幾個在開發上彈性較低

題外話

其實除了這個以外還有一個比較特別的 Repository 可以分享,這是 MIT 的實驗室所開發的 MCUNet,根據論文的內文,他們並不僅僅只是透過解釋器去實現整個,而是透過一個搜尋器(TinyNAS)去尋找最適合現在設備推理的網路架構,在透過特別優化的 inference engine(TinyEngine) 來進行推理。
如下圖(取自 MCUNet):
MCUNet1
而透過這個系統所給出的結果是會大大增進推理效率以及 memory footprint (圖取自 MCUNet):
MCUNet2
但實際上詳細內文我還在研究中,如果能在30天有成果再分享(天方夜譚?

今天就先簡單分享一些 EdgeAI 的不同選擇,明天開始正式使用 ST EdgeAI 相關的 Tools 看看究竟是怎麼一回事~


上一篇
Day 4 - STM32 是一個好吃的東西嗎?
下一篇
Day 6 - 初試 EdgeAI 工具 (2)
系列文
從零開始打造超邊緣AI應用11
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言