電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
电子发烧友
开通电子发烧友VIP会员 尊享10大特权
海量资料免费下载
精品直播免费看
优质内容免费畅学
课程9折专享价
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>如何在微控制器中構(gòu)建神經(jīng)網(wǎng)絡(luò)

如何在微控制器中構(gòu)建神經(jīng)網(wǎng)絡(luò)

2023-07-07 | zip | 0.00 MB | 次下載 | 免費(fèi)

資料介紹

描述

我們將使用 TensorFflow 訓(xùn)練神經(jīng)網(wǎng)絡(luò)并在微控制器中實(shí)現(xiàn)它。我們的神經(jīng)網(wǎng)絡(luò)將預(yù)測 sin(x)。使用相同的過程,我們可以用正確的數(shù)據(jù)預(yù)測不同的輸出。

人工神經(jīng)網(wǎng)絡(luò)在維基百科中被定義為“受構(gòu)成動物大腦的生物神經(jīng)網(wǎng)絡(luò)模糊啟發(fā)的計(jì)算系統(tǒng)。此類系統(tǒng)通過考慮示例來“學(xué)習(xí)”執(zhí)行任務(wù),通常無需使用特定于任務(wù)的規(guī)則進(jìn)行編程。

所以第一部分是我們必須教神經(jīng)網(wǎng)絡(luò) sin(x) 函數(shù)是怎樣的。

poYBAGORjeSAHrSZAAAM449YhFQ276.png
?

我們在 colab 中使用 TensorFlow,這里是鏈接https://colab.research.google.com/drive/1ABDULCjzvNZJ6TwHpTvAJnKeyM-_kfPR

我們需要訓(xùn)練數(shù)據(jù),所以我們得到 x, y 對訓(xùn)練:

pYYBAGOSw2-ATlyNAAANPdlck58562.png
?

x, y 對用于測試我們的神經(jīng)網(wǎng)絡(luò):

poYBAGOSw3OANuYeAAARIKLDNUo259.png
?

神經(jīng)網(wǎng)絡(luò)中的基本計(jì)算單位是神經(jīng)或節(jié)點(diǎn),它從其他一些節(jié)點(diǎn)或外部源接收輸入并計(jì)算輸出。每個輸入都有一個關(guān)聯(lián)的權(quán)重 (a),這是根據(jù)其對其他輸入的相對重要性加上常量分配的,稱為偏差 (b)。該節(jié)點(diǎn)將非線性函數(shù)應(yīng)用于其輸入的加權(quán)和,稱為激活函數(shù)。在我們的例子中,我們使用 softsign 函數(shù)作為激活函數(shù)。

pYYBAGOSw3WAWYtaAAAKmrrjo4Y761.png
?

我們現(xiàn)在定義一個簡單的神經(jīng)網(wǎng)絡(luò),節(jié)點(diǎn)按層排列。相鄰層的節(jié)點(diǎn)之間有連接邊緣。所有這些連接都有與之關(guān)聯(lián)的權(quán)重。我們使用四層,一個輸入層,兩個隱藏層和一個輸出層。

  • 輸入節(jié)點(diǎn)——輸入節(jié)點(diǎn)將外部世界的信息提供給網(wǎng)絡(luò),統(tǒng)稱為“輸入層”。在任何輸入節(jié)點(diǎn)中都不會執(zhí)行任何計(jì)算。
  • 隱藏節(jié)點(diǎn)——隱藏節(jié)點(diǎn)與外界沒有直接聯(lián)系(因此得名“隱藏”)。它們執(zhí)行計(jì)算并將信息從輸入節(jié)點(diǎn)傳輸?shù)捷敵龉?jié)點(diǎn)。隱藏節(jié)點(diǎn)的集合形成一個“隱藏層”。它可以有零個或多個隱藏層。
  • 輸出節(jié)點(diǎn)——輸出節(jié)點(diǎn)統(tǒng)稱為“輸出層”,負(fù)責(zé)計(jì)算和將信息從網(wǎng)絡(luò)傳輸?shù)酵饨纭?/font>

我們在輸入層有一個節(jié)點(diǎn),在第一個隱藏層有 10 個節(jié)點(diǎn),在第二個隱藏層有 3 個節(jié)點(diǎn),在輸出層有一個節(jié)點(diǎn)。這是圖表:

poYBAGOhWuaAHzsFAACQ7pP5Ym8715.png
?

在 TensorFlow 中定義為:

pYYBAGOhWumAe1cLAAArLLP5Nek269.png
?

。

?

我們評估模型,誤差非常低。

pYYBAGOhWu6AJyz2AAAmqQg5xIo866.png
?

為了在微控制器中實(shí)現(xiàn)模型,我們需要架構(gòu),我們之前定義了三層和每個節(jié)點(diǎn)的權(quán)重。

poYBAGOhWvGANkF4AABBjW59zjM428.png
?

正如我們所料,我們有三層,這些是權(quán)重:

pYYBAGOhWvSAR7rUAACxU41HtbE300.png
?

輸入層只有一個輸入 x 我們要計(jì)算 y = sin(x)。

第一隱藏層有10個節(jié)點(diǎn),每個節(jié)點(diǎn)執(zhí)行操作:

poYBAGOhWveAV5QxAAAGhlUgtQ8144.png
?

所以第一個數(shù)組有 10 個元素,每個節(jié)點(diǎn)一個“a”,第二個 10 個元素的數(shù)組是“b”。

poYBAGOhWv6AMKyNAAA3zsUpoI4065.png
?

第二個隱藏層有 3 個節(jié)點(diǎn)和 10 個輸入,所以我們有一個 3x10 數(shù)組用于每個節(jié)點(diǎn)的“a”,以及 3 個數(shù)組用于“b”。

poYBAGOj9_yAa4kmAAAJl8nBDYg027.png
?
pYYBAGOj-ACAKqoNAABVKvyFGSw811.png
?

輸出層是一個有 3 個輸入的節(jié)點(diǎn),所以我們有 3 個“a”和一個“b”。

poYBAGOj-AOARa1BAAAIl-89suw293.png
?
pYYBAGOj-AaAcdO2AAAPtMLMwFg055.png
?

我使用 platformio + vs 代碼。對于 MT3620,您需要從此處安裝平臺支持https://github.com/Wiz-IO/platform-azure

現(xiàn)在我們可以在微控制器中實(shí)現(xiàn)它。我已經(jīng)在 MT3620 板的 M7 內(nèi)核和 ESP32 中實(shí)現(xiàn)了它。

我們只需要兩個函數(shù),一個用于層,我們傳遞每個節(jié)點(diǎn)的輸入數(shù)、層中的節(jié)點(diǎn)數(shù)、權(quán)重、偏差和輸入:

poYBAGOj-AqARZ8_AABHVTltNAM340.png
?

一個用于激活函數(shù),softsign 函數(shù):

poYBAGOj-AyAcJZVAAAQs6A73V4518.png
?

我們使用串行端口請求輸入,然后將其傳遞給第一個隱藏層,結(jié)果傳遞給第二個隱藏層,輸出傳遞給輸出層:

poYBAGOj-BCAe_nLAAAtkP6Wrqs474.png
?

最后,我們將預(yù)測與 sin 函數(shù)的輸出進(jìn)行比較。

pYYBAGOj-BOABR9fAAAmw1fdOX8950.png
?

可以在 ESP32 中使用相同的代碼并獲得相同的結(jié)果。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

请按住滑块,拖动到最右边
了解新功能

查看更多

广告

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動電路設(shè)計(jì)》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)