[筆記] AI 的研究心得:TensorFlow, Pytorch, Lite ...
最近在閱讀有關 AI 領域的知識,常常聽到 TensorFlow 與 Pytorch 等名詞,還有 TensorFlow Lite 、 H5 、 PB模型 、 OpenVINO ...,底下我記錄下學習的心得。首先,我們要將 AI 區分成 前置作業階段 和 執行階段 ,前者主要工作為建立模型 、 收集資料 、 訓練... 等 ,如下圖所示,這個階段需要專業的工程人員,花費時間訓練並建立出最終的模型參數。後者則為執行過程,在什麼平台上面執行 AI 的判斷。 圖一:建立模型階段 在建立模型階段,工程師經常用到的語法就是 TensorFlow 或 Pytorch,將自己的演算法透過上述的程式語言不斷地訓練資料,來獲得最終的模型參數,而模型的優劣就是由這套演算法的好壞所決定。訓練過程,有幾項參數將與最終的模型參數有關,比如精密度 、 錯誤率...,精密度高且錯誤率低可能就要花費更多時間,精密度低且錯誤率高就可以節省一些運算空間....等等的 trade-off。 對於一般人而言,想要建立模型,當然不是一件容易的事。因此,Google推出一套 Teachable Machine https://teachablemachine.withgoogle.com/ 讓一般人能快速建模,體驗一製作 AI 模型的過程。產生的模型格式,有 H5 (Keras 產出) 或 PB (TensorFlow 產出) 型態,根據夜市小霸王的說法[1],PB 格式的效能比載入 H5 的運算效能高。接下來就是如何依照這個模型來執行判斷了。 在執行判斷的階段,拿到訓練後的模型後,我們要在什麼平台上面執行?可以是效能的 PC,可以是 NVIDIA 平台,也可以是 Intel OpenVINO 平台,或者在嵌入式的 MCU 上面執行。如果是在 Arduino 或者 ESP32 MCU 上面執行 AI 模型,可以參考 TensorFlow Lite for Microcollectors 連結,由於它是開源的程式碼,所以我們可以自行移植到其他的 MCU 平台。在 ...