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

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

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

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

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

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

約束

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

優(yōu)化的要點

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

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

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

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

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

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

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

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

審核編輯 黃昊宇

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

    關(guān)注

    5054

    文章

    18917

    瀏覽量

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

    關(guān)注

    87

    文章

    29435

    瀏覽量

    267747
收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    【從0開始創(chuàng)建AWTK應(yīng)用程序】編譯應(yīng)用到嵌入式Linux平臺運行

    。搭建Linux平臺交叉編譯環(huán)境在上一篇文章我們介紹了使用AWTK開發(fā)簡單的應(yīng)用并在PC上模擬運行,本篇文章就來介紹一下怎么讓應(yīng)用程序運行在嵌入式Linux平臺上。1
    的頭像 發(fā)表于 12-07 12:08 ?620次閱讀
    【從0開始創(chuàng)建AWTK<b class='flag-5'>應(yīng)用程序</b>】編譯應(yīng)用到<b class='flag-5'>嵌入式</b>Linux平臺運行

    嵌入式Linux應(yīng)用程序開發(fā)詳解-第3章

    電子發(fā)燒友網(wǎng)站提供《嵌入式Linux應(yīng)用程序開發(fā)詳解-第3章.pdf》資料免費下載
    發(fā)表于 11-16 11:19 ?0次下載
    <b class='flag-5'>嵌入式</b>Linux<b class='flag-5'>應(yīng)用程序</b>開發(fā)詳解-第3章

    嵌入式Linux應(yīng)用程序開發(fā)詳解-第2章

    電子發(fā)燒友網(wǎng)站提供《嵌入式Linux應(yīng)用程序開發(fā)詳解-第2章.pdf》資料免費下載
    發(fā)表于 11-16 11:18 ?0次下載
    <b class='flag-5'>嵌入式</b>Linux<b class='flag-5'>應(yīng)用程序</b>開發(fā)詳解-第2章

    嵌入式Linux應(yīng)用程序開發(fā)詳解-第1章

    電子發(fā)燒友網(wǎng)站提供《嵌入式Linux應(yīng)用程序開發(fā)詳解-第1章.pdf》資料免費下載
    發(fā)表于 11-16 11:17 ?0次下載
    <b class='flag-5'>嵌入式</b>Linux<b class='flag-5'>應(yīng)用程序</b>開發(fā)詳解-第1章