STM32 搭建CUBE.AI的demo工程


STM32 搭建CUBE.AI的demo工程

ST公司在自家的CubeMX中加入了Cube.AI人工智能神經網絡開發工具包,這次來試試如何在自己的這個資源緊張的小開發板上使用下神經網絡吧😂

我在這里用cube.ai的主要目的是得到工具包文件,以便后續遷移其他環境時使用。

准備工作

更新CubeMX

更新CubeMX並安裝Cube.AI工具包,位置在這:

裝好后重啟軟件。

准備模型

向工程中添加cube.ai

創建工程

打開或者創建一個STM32的工程,添加AI模型:

validation是驗證集,這里我們把core和application都加上,application這里可以選擇system performance、validation還是application template,如果是application template的話,只有一些模型的api,需要什么樣的模型這里自己寫。

調整參數

進到下面的這個頁面:

導入模型,推薦用h5格式,注意片內flash的大小,選擇壓縮倍數(4or8),可以點擊Validate on desktop進行驗證,下方Output選項卡中會輸出Validation OK,還有一些驗證的細節。驗證后退到下面這張圖,記下需要的ram和flash大小。

這里的ram需要堆空間,因此我們還需要調整堆空間的大小,官網demo要求是0x2000,嗯裸機程序堆大點也沒啥問題,后面的就是直接generate就可以了,我們來看工程,這里為了方便演示,生成的是MDK工程。注意這里需要把UART1的pin腳使能,同時打開UART1的中斷,然后在platform settings這里選中,否則編譯會出錯

其他問題

直接生成的工程,在進行運行的時候printf語句會卡死,查了下網絡,大概率是因為HAL庫的坑,移植到老代碼又有很多HAL庫兼容性的問題,暫時放棄了

小結

將AI和嵌入式結合在一起,尤其是直接在邊緣設備實現AI功能是現在算法落地的一個重點,有很多解決方案和工具可供選擇,從這次的cube ai的效果來看,ST公司在這方面布局很快,但是受cubemx的因素,實用性不高。這里其實是cube ai依托cube mx來實現,稍微簡化了軟件開發的難度,而cube mx的更新太快,HAL庫版本缺陷等等,增加了更多的穩定性缺陷,得不償失,如果前期提供一個穩定可靠的庫文件或者轉化小工具,則可以快速推廣,積攢口碑。畢竟很多廠商會擔心由於新增的AI功能對已有產品的影響,從而影響芯片公司推廣。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM