今天介紹下ST官方剛剛推出的CubeMx 自帶的X-CUBE-AI(Artificial intelligent)插件功能,可以給現(xiàn)有的STM32 M3-M7高性能的處理器添加基于訓(xùn)練好的ANN 的模型用于不同的數(shù)據(jù)分析處理。
使用STM32Cube.AI簡(jiǎn)化了人工神經(jīng)網(wǎng)絡(luò)映射
1.可與流行的深度學(xué)習(xí)培訓(xùn)工具互操作
2.兼容許多IDE和編譯器
3.傳感器和RTOS無(wú)關(guān)
4.允許多個(gè)人工神經(jīng)網(wǎng)絡(luò)在單個(gè)STM32MCU上運(yùn)行
5.完全支持超低功耗STM32MCU
提高您的工作效率
利用DeepLearning的強(qiáng)大功能提高信號(hào)處理性能并提高STM32應(yīng)用程序的生產(chǎn)率。創(chuàng)建人工神經(jīng)網(wǎng)絡(luò)并將其映射到STM32(通過(guò)CubeMx自動(dòng)生成優(yōu)化的代碼),而無(wú)需手動(dòng)構(gòu)建代碼。
以上就做個(gè)簡(jiǎn)短的介紹,想了解更多有關(guān)STM32Cube.AI可以訪問(wèn)下面的鏈接:
那先前的準(zhǔn)備工作就是需要安裝最新版本的CubeMx 5.0.1
然后使用CubeMx 去安裝X-CUBE-AI插件, 700多M的容量。。慢慢下載吧
下載好后,CubeMx里的Artificial intelligent
激活Enable
這里我們就可以看到里面的選項(xiàng)了
下載下來(lái)。。然后選擇Keras 的AI API算法
model.h5就是我們需要導(dǎo)入到工程里的AI Keras的訓(xùn)練好的模型
Human Activity Recognition Using Convolutional Neural Network in Keras
人類(lèi)活動(dòng)識(shí)別卷積神經(jīng)網(wǎng)絡(luò)算法模型
然后我們導(dǎo)入到工程里
這里選擇壓縮參數(shù),不同的壓縮參數(shù)對(duì)MCU的flash容量
要求也不一樣。。
點(diǎn)擊Analyze cube就好計(jì)算使用這個(gè)神經(jīng)網(wǎng)絡(luò)算法的ram和flash容量占用
好了結(jié)果出來(lái)了,
經(jīng)過(guò)分析后Cube會(huì)自動(dòng)列出可以使用的MCU
然后顯示在列表里
這里舉個(gè)例子,我們選擇沒(méi)有壓縮優(yōu)化
分析模型算法后的結(jié)果我沒(méi)有匹配的MCU可以使用
這是選擇壓縮比參數(shù)8的結(jié)果,可以支持很多的MCU使用這個(gè)
神經(jīng)網(wǎng)絡(luò)算法。。
好了,這里我們就選擇STM32F767ZI Nucleo 板卡作為
這次演示使用的板卡
好了選擇好了,板卡,我們還需要給它添加
擴(kuò)展庫(kù),也就是AI庫(kù)
選擇好Validation 和打勾 AI core
然后在cube 左下方可以看到下圖箭頭
提示的插件功能
我們需要打勾以下2個(gè)功能
然后創(chuàng)建我的AI算法名稱(chēng),這個(gè)名稱(chēng)會(huì)在后續(xù)的
里自動(dòng)創(chuàng)建好。
添加好,我們下載好的AI神經(jīng)網(wǎng)絡(luò)算法,
然后再Analyze下就好。。打勾表示驗(yàn)證通過(guò)
然后我們需要配置我們的mcu的
CPU ICache 和 CPU DCache
然后配置MCU主頻為216Mhz
然后我們需要配置串口3和CubeMx進(jìn)行通訊,驗(yàn)證我們
工程。。。
然后在 AI擴(kuò)展功能里選擇通訊端口為串口3
好了,工程差不多創(chuàng)建好了。接下來(lái)就是
配置工程的路徑好
我們配置使用IAR 編譯環(huán)境。。
然后Heap 然后要配置到2000 這個(gè)很重要,要是設(shè)置少了
系統(tǒng)就會(huì)奔潰(切記)
好了工程生成好了,我們就可以 使用IAR 打開(kāi)工程了
工程如下,工程里自動(dòng)生成了基于AI的算法的所以文件
這里可以看到,基于AI訓(xùn)練好的模型數(shù)據(jù)列表。。。
好了,配置位STLINK,然后編譯好就可以直接下載到
板子上了
好了,現(xiàn)在我們需要回到CubeMx里,回到
AI擴(kuò)展功能里。。 先重啟下開(kāi)發(fā)板,然后
點(diǎn)擊Validation on target
選擇手動(dòng),然后選擇對(duì)應(yīng)的串口端口
這里可以看到驗(yàn)證已經(jīng)開(kāi)始了‘
’
好了,結(jié)果出來(lái)了。我們可以在串口輸出的信息里看到
有關(guān)的數(shù)據(jù)
好了,基于CubeMx+AI擴(kuò)展庫(kù)的使用就分享到這了