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

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

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

TensorFlow Lite for MCUs - 網(wǎng)絡邊緣的人工智能

星星科技指導員 ? 來源:mouser ? 作者:mouser ? 2023-05-09 09:49 ? 次閱讀

在技術發(fā)展的歷史上,技術先獨立發(fā)展再相互融合以改變世界的例子比比皆是。原子能和噴氣式發(fā)動機的融合催生了核航空母艦,改變了20世紀大部分戰(zhàn)爭的形態(tài)。計算機和射頻通信的融合產(chǎn)生了智能手機,同時也重新定義了我們與技術以及彼此之間的互動方式。今天,嵌入式電子人工智能 (AI) 的融合正日益成為下一個具有顛覆性的技術組合。接下來我們就看一下這種融合的發(fā)展演變。

歡迎來到網(wǎng)絡邊緣

人工智能的概念最早出現(xiàn)在古希臘人的著作中,但直到20世紀上半葉,才開始將其作為一種實際技術進行開發(fā)。從根本上來說,AI使數(shù)字技術像人腦一樣,能夠與模擬世界有效互動、響應溝通。為了使AI在現(xiàn)實世界的應用具有實用性,比如自動駕駛車輛,在處理多個動態(tài)輸入時,電子設備和物理世界之間的交互必須接近瞬時完成。值得慶幸的是,隨著機器學習算法的發(fā)展,嵌入式電子系統(tǒng)也在不斷進步。他們的聯(lián)姻催生了邊緣計算的概念。

邊緣計算獲得了過去只有云端強大的處理硬件才能實現(xiàn)的處理能力,并將這種能力帶給了位于物理-數(shù)字接口邊緣的本地設備。再加上微控制器傳感器等廉價而穩(wěn)健的嵌入式組件的普及,給自動化領域,無論是規(guī)模上還是功能上都帶來了一場革命。

TensorFlow Lite: 微型硬件上的大ML算法

TensorFlow是Google主導開發(fā)的一套開源軟件庫,使開發(fā)人員能夠輕松地將復雜的數(shù)值計算算法和機器學習(ML)集成到他們的項目中(圖1)。按照Google的說法,這些庫為Python(所有平臺上的Python 3.7+)和C提供穩(wěn)定的應用程序編程接口,另外還提供沒有向后兼容保證的C++、Go、Java 和JavaScript API。此外,還針對Apple公司的Swift語言提供了一個alpha版本。

pYYBAGRZppuAYfd9AAF1vZFOWwc091.png

圖1:Google的TensorFlow Lite for Microcontrollers網(wǎng)站。(資料來源:Google)

TensorFlow為深度神經(jīng)網(wǎng)絡 (DNN) 的開發(fā)和利用提供了所謂的端到端機器學習支持。 DNN是ML的一種實現(xiàn),它特別擅長模式識別以及對象檢測與分類。TensorFlow庫支持機器學習過程的兩個階段,即訓練和推理。首先是深層神經(jīng)網(wǎng)絡的訓練,這需要大量算力,通常由服務器級硬件和圖形處理單元 (GPU) 提供。最近開發(fā)了被稱為張量處理單元 (TPU) 的專用集成電路來支持這種訓練。第二階段是推理,即利用現(xiàn)實世界中經(jīng)過訓練的DNN來響應新的輸入,按照培訓好的模型分析這些輸入,并根據(jù)分析結果提出建議。這應該是嵌入式產(chǎn)品開發(fā)人員比較感興趣的階段。

TensorFlow Lite for Microcontrollers(TensorFlow庫的一個子集)專門用于在內(nèi)存受限的設備上執(zhí)行推理,大多數(shù)嵌入式系統(tǒng)應用中都存在這種設備。它不允許您訓練新網(wǎng)絡,這仍然需要較高端的硬件。

實用為王:ML應用實例

人工智能、神經(jīng)網(wǎng)絡和機器學習等術語可以看成是科幻小說或行話。那么這些新興技術的現(xiàn)實意義何在?

運行在嵌入式系統(tǒng)上的AI算法的目標,是以比傳統(tǒng)程序或面向對象的編程方法更高效的方式處理傳感器收集的真實世界數(shù)據(jù)。也許在大家的意識中,最明顯的使用案例是從傳統(tǒng)汽車到具有自動輔助功能(如車道偏離警報和防撞系統(tǒng))的汽車,再到無人駕駛汽車這個最終目標的發(fā)展歷程。不過,深度學習還有其他一些不那么明顯的用例,雖然你不知道,但已經(jīng)在使用了。智能手機中的語音識別或Amazon Alexa等虛擬助手均使用了深度學習算法。其他用例包括用于安防領域的面部檢測和/或背景替換、sans綠幕、遠程會議軟件(如Zoom)等。

同時使用機器學習算法和互聯(lián)網(wǎng)連接的設備(如物聯(lián)網(wǎng)設備)的一個巨大優(yōu)勢是,隨著時間的推移,產(chǎn)品可以通過簡單的無線固件更新來集成新的或經(jīng)過更好訓練的模型。這意味著產(chǎn)品可以逐漸變得更加智能,并且不局限于制造時可能實現(xiàn)的功能,只要新型號和固件不超出硬件的物理內(nèi)存和處理能力即可。

pYYBAGRZpp6AXVlsAAGUa8m9O2E432.png

圖2:將TensorFlow模型轉換為可在微控制器等內(nèi)存受限設備上使用的版本。(資料來源:NXP

工作流程

根據(jù)TensorFlow Lite for Microcontrollers的附帶文檔,開發(fā)人員的工作流程可以分為五個關鍵步驟(圖2), 具體如下:

1. 創(chuàng)建或獲取一個TensorFlow模型:該模型必須足夠小,以便在轉換后適合目標設備,并且它只能使用支持的運算。如果要使用當前不支持的運算,可以提供自定義實現(xiàn)。
2. 將模型轉換為TensorFlow Lite FlatBuffer:您將使用TensorFlow Lite轉換器將模型轉換為標準TensorFlow Lite格式。您可能希望輸出一個量化模型,因為這種模型的尺寸更小,執(zhí)行效率更高。
3. 將FlatBuffer轉換為C字節(jié)數(shù)組:模型保存在只讀程序內(nèi)存中,并以簡單的C文件形式提供??梢允褂脴藴使ぞ邔latBuffer轉換為C字節(jié)數(shù)組。
4. 集成TensorFlow Lite for Microcontrollers C++庫:編寫微控制器代碼來收集數(shù)據(jù),使用C++庫執(zhí)行推理,然后使用結果。
5. 部署到設備:編寫程序并將其部署到您的設備。

在選擇與TensorFlow Lite庫一起使用的兼容嵌入式平臺時,開發(fā)人員應注意以下幾點:

1. 基于32位架構(如Arm Cortex-M處理器)和ESP32的系統(tǒng)。
2. 它可以運行在內(nèi)存大小達數(shù)十KB的系統(tǒng)上。
3. TensorFlow Lite for Microcontrollers是用C++ 11編寫的。
4. TensorFlow Lite for Microcontrollers可作為Arduino庫提供。該框架還可以為其他開發(fā)環(huán)境(如Mbed)生成項目。
5. 不需要操作系統(tǒng)支持、動態(tài)內(nèi)存分配或任何C/C++標準庫。

接下來的步驟

Google提供四個事先訓練好的模型作為示例,可用于在嵌入式平臺上運行。只需稍做修改,就能在各種開發(fā)板上使用。這些示例包括:

Hello World:演示使用TensorFlow Lite for Microcontrollers的必備基礎知識。
Micro-Speech:用麥克風捕捉音頻以檢測單詞“yes”和“no”。
Person Deflection:圖像傳感器捕捉攝像頭數(shù)據(jù),以檢測是否有人。
Magic Wand:捕獲加速度計數(shù)據(jù)以對三種不同的手勢進行分類。

審核編輯:郭婷

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

    關注

    33

    文章

    2429

    瀏覽量

    69082
  • 嵌入式
    +關注

    關注

    5059

    文章

    18973

    瀏覽量

    302058
  • 人工智能
    +關注

    關注

    1789

    文章

    46652

    瀏覽量

    237090
收藏 人收藏

    評論

    相關推薦

    人工智能是什么?

    。 說了那么多關于人工智能機器人的發(fā)展,我們來看看當前市面上可以看到的落地化機器人有哪些?,如:法國的人形機器人NAO,軟銀公司的帶有情緒的機器人Pepper等等,大家會發(fā)現(xiàn),這些機器人的硬件都做
    發(fā)表于 09-16 15:40

    人工智能傳感技術

    人工智能傳感技術,希望有興趣的人共享
    發(fā)表于 06-03 09:03

    TensorFlow-cn_0.3_beta_zh,人工智能入門資料

    TensorFlow-cn_0.3_beta_zh,人工智能入門資料,花積分在別的論壇買的
    發(fā)表于 11-09 11:44

    解讀人工智能的未來

    `已歷經(jīng)60多年的人工智能在物聯(lián)網(wǎng)以及大數(shù)據(jù)的推動下,實現(xiàn)飛躍式的發(fā)展,并且迎來了第三個黃金周期。必優(yōu)傳感今天和大家解讀一下關于人工智能的未來。自從有了人工智能,引發(fā)了人類的各種“未來論”。有人說
    發(fā)表于 11-14 10:43

    人工智能:超越炒作

    ,路徑規(guī)劃和異常檢測,以及用于在這些引擎上部署機器學習模型(包括神經(jīng)網(wǎng)絡和經(jīng)典機器學習算法)的平臺和工具的集成。這只是第一步,因為恩智浦已經(jīng)在努力將可擴展的人工智能加速器集成到其設備中,這將使機器學習
    發(fā)表于 05-29 10:46

    什么是基于云計算的人工智能服務?

    如今,采用人工智能的企業(yè)遇到了一個主要障礙,那就是在內(nèi)部開發(fā)人工智能產(chǎn)品成本高昂,因此有了外包人工智能產(chǎn)品的需求。而對于從中小企業(yè)到預算受限的大型企業(yè)來說,通過云計算來采用人工智能的成
    發(fā)表于 09-11 11:51

    Labview深度學習tensorflow人工智能目標檢測-教學貼【連載】

    本帖最后由 wcl86 于 2021-6-3 16:23 編輯 應廣大學員要求,現(xiàn)開通Labview深度學習tensorflow人工智能目標檢測-教學貼,有需要的學員,可以收藏本貼,接下來會
    發(fā)表于 05-28 11:58

    路徑規(guī)劃用到的人工智能技術

    路徑規(guī)劃用到的人工智能技術二 人工智能編程語言/數(shù)據(jù)結構與算法三 人工智能基礎原理四 智能信息獲?。ê喎Q爬蟲) 與數(shù)據(jù)分析1、發(fā)起請求3、解析內(nèi)容4、保存數(shù)據(jù)二、Requests庫介紹
    發(fā)表于 07-20 06:53

    人工智能芯片是人工智能發(fā)展的

    人工智能芯片是人工智能發(fā)展的 | 特倫斯謝諾夫斯基責編 | 屠敏本文內(nèi)容經(jīng)授權摘自《深度學習 智能時代的核心驅動力量》從AlphaGo的人機對戰(zhàn),到無人駕駛汽車的上路,再到AI合成主播
    發(fā)表于 07-27 07:02

    基于RK3399 + RK1808的人工智能平臺項目實戰(zhàn)

    設備,沒有固定的有線網(wǎng)絡,移動流量成本是相當?shù)拇蟮碾x線無法工作,云端的人工智能識別高度依賴網(wǎng)絡,如果網(wǎng)絡離線,所有功能都將無法使用AI 邊緣
    發(fā)表于 06-24 17:44

    嵌入式人工智能學習路線

    機器學習兩門課程,基于第一大主流編程語言Python,讓學員熟悉人工智能概念與行業(yè)前景,掌握Python編程基礎及常用庫使用、TensorFlow基礎及神經(jīng)網(wǎng)絡、熟悉TFlearn相關知識點。課程間小項
    發(fā)表于 09-16 17:07

    《移動終端人工智能技術與應用開發(fā)》人工智能的發(fā)展與AI技術的進步

    ,隨機森林,K-均值算法,支持向量機和人工神經(jīng)網(wǎng)絡等等。在應用方面表現(xiàn)也異常突出,目前89%的人工智能專利申請和40%人工智能范圍相關專利都屬于機器學習的范疇,可見機器學習的時代化進程
    發(fā)表于 02-17 11:00

    《移動終端人工智能技術與應用開發(fā)》+理論學習

    收到《移動終端人工智能技術與應用開發(fā)》有一段時間了,由于時間有限,加上工作原因,目前只看到第3章,前幾章主要介紹人工智能和機器學習的基礎知識,發(fā)展歷程,分類等,重點說明了,在移動終端上如何實現(xiàn)人工
    發(fā)表于 02-27 23:28

    在物聯(lián)網(wǎng)邊緣執(zhí)行您的人工智能

      底線是邊緣的人工智能很可能在你的未來。當涉及到邊緣人工智能時,Avnet可以成為您滿足所有物聯(lián)網(wǎng)需求的一步。
    發(fā)表于 07-06 15:05 ?753次閱讀

    使用 Kria SoM 部署基于邊緣的人工智能

    使用 Kria SoM 部署基于邊緣的人工智能
    的頭像 發(fā)表于 12-28 09:51 ?889次閱讀
    使用 Kria SoM 部署基于<b class='flag-5'>邊緣</b><b class='flag-5'>的人工智能</b>