2023年1月2日 星期一

在 MCU 上運行的機器學習模型 : TensorFlow Lite Micro

今天在搜尋樹莓派 Pico 資料時找到樹莓派 Pico 的 TensorFlow Lite Micro 版本 : 


TensorFlow Lite 是谷歌深度學習框架 TensorFlow 的手機或迷你電腦 (例如樹莓派) 版, 而 TensorFlow Lite Micro 則是給微控制器開發板 (例如 Arduino, ESP32, 樹莓派 Pico 等) 用的, 主要是考量記憶體大小與 CPU 執行效能而做的瘦身工程. 這些開發板幾乎都是基於 ARM Cortex-M 架構的 32 位元 MCU. 參考 :


在 MCU 上運行 TensorFlow Lite Micro 的程序是先在 Colab 上用 TnsorFlow 以 32 位元浮點數訓練模型, 然後將訓練好的模型降為 8 位元整數, 用 TensorFlow Lite 直譯器載入模型運行, 與在 Colab 上的結果比較, 若損失沒有明顯惡化, 即可使用工具程式將減化的模型轉成 model.cc 的 C 語言格式 (即 TFLM 格式), 最後用 MCU 的 SDK 將 model.cc 與 MCU 的原始碼一起編譯成韌體燒錄至 MCU 即可, 參考 :


關於 TinyML 的書目前不多, 我只找到下面兩本 : 



Source : 博客來


此書譯自 Oreilly 2020 年出版的 "TinyML: Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power Microcontrollers", 好消息是 : 市圖與母校圖書館都有這本書 , Nice, :).




Source : 天瓏


此書譯自 Packt 2022 年出版的 "TinyML Cookbook: Combine artificial intelligence and ultra-low-power embedded devices to make the world smarter", 中譯本 2023/1/13 即將由基峰出版, 書中範例檔可在 GitHub 下載 :


沒有留言 :