0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

為嵌入式應(yīng)用程序優(yōu)化 AI

張飛雄 ? 來源:一個(gè)黃人 ? 作者:一個(gè)黃人 ? 2022-07-20 09:49 ? 次閱讀

在我之前的博客中,我談到了對基于 AI 的界面的需求如何變得幾乎不可避免——并且添加一個(gè)基于 AI 的界面(如 face-id)來授權(quán)對機(jī)器的訪問,乍一看似乎是一個(gè)巨大的飛躍,但實(shí)際上并非如此有你想象的那么困難。有大量可用的 AI 平臺、大量培訓(xùn)選項(xiàng)甚至開源應(yīng)用程序,例如face-id 示例。您可以使用可以在 PC 上運(yùn)行的原型快速啟動(dòng)和測試。

約束

將訓(xùn)練有素的網(wǎng)絡(luò)遷移到您的嵌入式應(yīng)用程序似乎是另一個(gè)巨大的障礙。PC 或云訓(xùn)練的網(wǎng)絡(luò)并沒有針對內(nèi)存使用或功耗進(jìn)行太多優(yōu)化。他們可能會使用浮點(diǎn)數(shù)或雙字進(jìn)行網(wǎng)絡(luò)計(jì)算,并且在處理圖像上的滑動(dòng)窗口時(shí)會嚴(yán)重依賴片外內(nèi)存訪問。對于在插入墻上電源的高性能 PC 上運(yùn)行的原型來說,這不是問題,但您需要在最終應(yīng)用程序中更加節(jié)儉,同時(shí)不影響性能。

優(yōu)化的要點(diǎn)

優(yōu)化的一個(gè)關(guān)鍵步驟稱為量化。將權(quán)重從浮點(diǎn)切換到定點(diǎn)并減小定點(diǎn)大小,例如從 32 位浮點(diǎn)到 8 位整數(shù),不僅會影響權(quán)重的大小,還會影響中間計(jì)算值。僅此一項(xiàng)就可以顯著減少內(nèi)存占用,在大多數(shù)情況下對識別質(zhì)量幾乎沒有明顯影響。

第二個(gè)操作是利用權(quán)重的稀疏性,對準(zhǔn)確性的影響最小。這種做法將利用接近零的權(quán)重,并將它們四舍五入為零,同時(shí)密切跟蹤準(zhǔn)確性影響。權(quán)重用于乘以部分和,當(dāng)其中一個(gè)因素為零時(shí),這是沒有意義的練習(xí),因此無需執(zhí)行操作。

在實(shí)際實(shí)現(xiàn)中,圖像是增量處理的,因此當(dāng)計(jì)算窗口在圖像上移動(dòng)時(shí)必須更新權(quán)重。這可以帶來很多更新和大量流量。通過強(qiáng)制大部分權(quán)重為零,可以壓縮權(quán)重?cái)?shù)組,從而可以將所有或大部分?jǐn)?shù)組存儲在片上 SRAM 中,以便按需解壓縮。這反過來又最大限度地減少了訪問主存儲器的需要,從而提高了性能并降低了功耗。它還偶然減少了加載重量時(shí)的片上流量。更少的流量爭用意味著更高的吞吐量。

還應(yīng)考慮一個(gè)因素。像大多數(shù)復(fù)雜的應(yīng)用程序一樣,神經(jīng)網(wǎng)絡(luò)依賴于復(fù)雜的庫。您需要使用專為在微控制器環(huán)境中使用而設(shè)計(jì)的庫,并將編譯器用于您選擇的平臺。一個(gè)好的起點(diǎn)可能是開源庫,例如TensorFlow Lite,但要充分利用微控制器,就需要專門定制的解決方案。

當(dāng)然,知道你必須做什么并不容易。您現(xiàn)在需要找到一個(gè)能夠簡化這些操作并提供硬件優(yōu)化庫的平臺。

我如何使它成為一個(gè)易于使用的流程?

您想要的是一個(gè)流程,您可以在其中使用您在特定平臺(例如 TensorFlow)上訓(xùn)練的網(wǎng)絡(luò),并將其直接編譯到您的嵌入式解決方案中——除了撥打一些基本要求外,無需干預(yù)。當(dāng)然,您還希望該選項(xiàng)能夠進(jìn)一步手動(dòng)優(yōu)化,可能在不同的平面上設(shè)置不同的量化級別。也許可以嘗試權(quán)重閾值與片上內(nèi)存大小。您需要針對硬件優(yōu)化的庫和針對庫優(yōu)化的硬件。

CEVA 的CDNN等經(jīng)過驗(yàn)證的 AI 平臺旨在提供這種類型的流程。CDNN 為量化和運(yùn)行時(shí)任務(wù)生成提供離線處理器工具集,以及為 CEVA DSP 和客戶用戶硬件加速器定制的運(yùn)行時(shí)庫。CEVA 的解決方案支持所有流行的 AI 模型格式,包括 TensorFlow Lite、ONNX、Caffe 等。

審核編輯 黃昊宇

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5088

    文章

    19159

    瀏覽量

    306509
  • AI
    AI
    +關(guān)注

    關(guān)注

    87

    文章

    31316

    瀏覽量

    269659
收藏 人收藏

    評論

    相關(guān)推薦

    【「嵌入式Hypervisor:架構(gòu)、原理與應(yīng)用」閱讀體驗(yàn)】+全文學(xué)習(xí)心得

    Hypervisor是一種在嵌入式系統(tǒng)中實(shí)現(xiàn)虛擬化技術(shù)的關(guān)鍵組件,它能夠在同一硬件平臺上并行運(yùn)行多個(gè)操作系統(tǒng)或應(yīng)用程序,提供資源隔離、管理和優(yōu)化。通過引入時(shí)空域隔離的虛擬機(jī),嵌入式Hy
    發(fā)表于 10-09 19:11

    嵌入式系統(tǒng)的啟動(dòng)流程

    嵌入式系統(tǒng)的啟動(dòng)流程是一個(gè)復(fù)雜但有序的過程,它涉及從系統(tǒng)上電到操作系統(tǒng)內(nèi)核及應(yīng)用程序啟動(dòng)的多個(gè)階段。
    的頭像 發(fā)表于 10-05 17:44 ?442次閱讀

    嵌入式linux開發(fā)的基本步驟有哪些?

    嵌入式Linux開發(fā)是一個(gè)復(fù)雜的過程,涉及到硬件選擇、操作系統(tǒng)移植、驅(qū)動(dòng)開發(fā)、應(yīng)用程序開發(fā)等多個(gè)方面。以下是嵌入式Linux開發(fā)的基本步驟,以及每個(gè)步驟的說明。 硬件選擇 在開始嵌入式
    的頭像 發(fā)表于 09-02 09:11 ?565次閱讀

    C28x嵌入式應(yīng)用程序二進(jìn)制接口

    電子發(fā)燒友網(wǎng)站提供《C28x嵌入式應(yīng)用程序二進(jìn)制接口.pdf》資料免費(fèi)下載
    發(fā)表于 08-31 09:39 ?0次下載
    C28x<b class='flag-5'>嵌入式</b><b class='flag-5'>應(yīng)用程序</b>二進(jìn)制接口

    MSP430嵌入式應(yīng)用程序二進(jìn)制接口

    電子發(fā)燒友網(wǎng)站提供《MSP430嵌入式應(yīng)用程序二進(jìn)制接口.pdf》資料免費(fèi)下載
    發(fā)表于 08-30 11:43 ?0次下載
    MSP430<b class='flag-5'>嵌入式</b><b class='flag-5'>應(yīng)用程序</b>二進(jìn)制接口

    C6000嵌入式應(yīng)用程序二進(jìn)制接口

    電子發(fā)燒友網(wǎng)站提供《C6000嵌入式應(yīng)用程序二進(jìn)制接口.pdf》資料免費(fèi)下載
    發(fā)表于 08-29 14:52 ?0次下載
    C6000<b class='flag-5'>嵌入式</b><b class='flag-5'>應(yīng)用程序</b>二進(jìn)制接口

    恩智浦加速嵌入式AI創(chuàng)新應(yīng)用開發(fā)

    AI應(yīng)用飛速發(fā)展的今天,如何能夠?qū)?b class='flag-5'>AI與嵌入式系統(tǒng)開發(fā)有機(jī)結(jié)合起來,營造新的開發(fā)生態(tài),打造與眾不同的創(chuàng)新用例,一直是嵌入式開發(fā)者追求的目標(biāo)。
    的頭像 發(fā)表于 08-27 09:46 ?858次閱讀

    嵌入式系統(tǒng)中的實(shí)時(shí)操作系統(tǒng)

    嵌入式RTOS是嵌入式應(yīng)用程序運(yùn)行、相互交互和與外界通信的底層軟件機(jī)制。在本節(jié)中,您將了解嵌入式軟件開發(fā)人員使用哪些流行RTOS以及它們運(yùn)行的嵌入式
    的頭像 發(fā)表于 08-20 11:28 ?516次閱讀

    嵌入式軟件開發(fā)與AI整合

    嵌入式軟件開發(fā)與AI整合是當(dāng)前技術(shù)發(fā)展的重要趨勢之一。隨著人工智能技術(shù)的快速發(fā)展,嵌入式系統(tǒng)越來越多地集成了AI算法,以實(shí)現(xiàn)更復(fù)雜的智能功能。以下是關(guān)于
    的頭像 發(fā)表于 07-31 09:25 ?761次閱讀
    <b class='flag-5'>嵌入式</b>軟件開發(fā)與<b class='flag-5'>AI</b>整合

    AI引爆邊緣計(jì)算變革,塑造嵌入式產(chǎn)業(yè)新未來AI引爆邊緣計(jì)算變革,塑造嵌入式產(chǎn)業(yè)新未來——2024研華嵌入式

    中國北京,2024年5月30日?- 2024年研華嵌入式產(chǎn)業(yè)合作伙伴會議在北京·中關(guān)村皇冠假日酒店成功舉辦,現(xiàn)場參會嘉賓逾300人。會議以“AI引爆邊緣計(jì)算變革,塑造嵌入式產(chǎn)業(yè)新未來”為主題展開
    發(fā)表于 05-31 13:53 ?359次閱讀
    <b class='flag-5'>AI</b>引爆邊緣計(jì)算變革,塑造<b class='flag-5'>嵌入式</b>產(chǎn)業(yè)新未來<b class='flag-5'>AI</b>引爆邊緣計(jì)算變革,塑造<b class='flag-5'>嵌入式</b>產(chǎn)業(yè)新未來——2024研華<b class='flag-5'>嵌入式</b>

    嵌入式系統(tǒng)軟硬件基礎(chǔ)知識大全

    兩部分組成的。硬件部分包括處理器、存儲器、輸入輸出等,是嵌入式系統(tǒng)實(shí)現(xiàn)功能的基礎(chǔ)。軟件部分則包括操作系統(tǒng)、驅(qū)動(dòng)程序、應(yīng)用程序等,負(fù)責(zé)控制硬件組件的工作和實(shí)現(xiàn)各種功能。嵌入系統(tǒng)的硬件和軟
    發(fā)表于 05-09 14:12

    USB嵌入式主機(jī)堆棧

    在USB標(biāo)準(zhǔn)下,USB設(shè)備之間不能直接通信。它們只能與控制一個(gè)或多個(gè)設(shè)備通信的總線的 USB 主機(jī)通信。常見的 USB 主機(jī)是 PC。本應(yīng)用筆記討論了 USB 嵌入式主機(jī),它可以使嵌入式應(yīng)用程序在各種 USB 設(shè)備中使用。
    發(fā)表于 05-03 09:13 ?205次閱讀
    USB<b class='flag-5'>嵌入式</b>主機(jī)堆棧

    深度詳解嵌入式系統(tǒng)專用輕量級框架設(shè)計(jì)

    MR 框架是專為嵌入式系統(tǒng)設(shè)計(jì)的輕量級框架。充分考慮了嵌入式系統(tǒng)在資源和性能方面的需求。通過提供標(biāo)準(zhǔn)化的設(shè)備管理接口,極大簡化了嵌入式應(yīng)用開發(fā)的難度,幫助開發(fā)者快速構(gòu)建嵌入式
    發(fā)表于 04-27 02:32 ?1020次閱讀
    深度詳解<b class='flag-5'>嵌入式</b>系統(tǒng)專用輕量級框架設(shè)計(jì)

    提升嵌入式系統(tǒng)可靠性的有效策略

    嵌入式工程師來說一個(gè)很大的好處是,我們的IDE和工具鏈可以自動(dòng)產(chǎn)生應(yīng)用程序或內(nèi)存空間校驗(yàn)和(Checksum),從而根據(jù)這個(gè)校驗(yàn)和驗(yàn)證應(yīng)用程序是否完好。有
    發(fā)表于 04-26 14:50 ?562次閱讀
    提升<b class='flag-5'>嵌入式</b>系統(tǒng)可靠性的有效策略

    再談嵌入式實(shí)時(shí)操作系統(tǒng)

    由于嵌入式處理器早期功能單一且運(yùn)算能力不高,嵌入式應(yīng)用已不能滿足各個(gè)領(lǐng)域不斷增長的需求。嵌入式操作系統(tǒng)應(yīng)運(yùn)而生,嵌入式操作系統(tǒng)可以支持新時(shí)代復(fù)雜、多任務(wù)環(huán)境和功能的
    的頭像 發(fā)表于 04-09 17:27 ?827次閱讀
    再談<b class='flag-5'>嵌入式</b>實(shí)時(shí)操作系統(tǒng)