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

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

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

發(fā)布適用于微控制器的TensorFlow Lite

Tensorflowers ? 來源:lp ? 2019-03-26 10:28 ? 次閱讀

在過去的一年里,我花了很多時(shí)間研究在微控制器上開展機(jī)器學(xué)習(xí),今天終于可以在 TensorFlow 開發(fā)者峰會(huì)上公開展示成果了,這感覺真的很棒。不僅如此,我還能夠演示 TensorFlow Lite 在 Cortex M4 開發(fā)板上運(yùn)行,處理簡單的語音關(guān)鍵字識(shí)別。我非常緊張,尤其是還需要克服禮堂的噪音,但我做到了,我讓小小的黃色發(fā)光二極管 (LED) 閃爍,響應(yīng)我的命令!如果您有興趣親自試用,只需 15 美元,即可從 SparkFun 購得含有預(yù)加載示例代碼的開發(fā)板。如果您未能觀看我的演講,歡迎閱讀下面的文字記錄。

注:示例代碼 鏈接

https://www.sparkfun.com/products/15170

大家好,我是 TensorFlow Lite 團(tuán)隊(duì)的 Pete Warden,我要介紹一個(gè)讓我們非常振奮的新項(xiàng)目。2014 年,我剛剛加入 Google,了解到很多彼時(shí)尚未公開但非常刺激的內(nèi)部研究。不過,印象最深的一刻是在見到 Raziel時(shí),他當(dāng)時(shí)在語音團(tuán)隊(duì)工作,他跟我說他們用的網(wǎng)絡(luò)模型大小只有 13 千字節(jié)!我只接觸過圖像模型,那時(shí),即使是像 Inception 這樣最小的模型也仍然有幾兆字節(jié)大。

當(dāng)他告訴我為什么這些模型一定要這么小時(shí),我更吃驚了。他們需要在智能手機(jī)數(shù)字信號(hào)處理器 (DSP) 和其他嵌入式芯片上運(yùn)行這些模型,以便 Android 能夠在主 CPU 關(guān)閉以節(jié)省電池電量的情況下監(jiān)聽到 “嘿,Google” 等喚醒詞。這些微控制器的隨機(jī)存取存儲(chǔ)器 (RAM) 和閃存往往只有幾十千字節(jié),無法兼容更大的模型。他們也無法依靠云連接,因?yàn)槌掷m(xù)開啟任何無線連接都會(huì)讓電池電量迅速耗盡。

令我印象深刻的是,語音團(tuán)隊(duì)擁有非常豐富的經(jīng)驗(yàn),他們花費(fèi)了大量時(shí)間進(jìn)行實(shí)驗(yàn),即使面對(duì)嚴(yán)苛的設(shè)備限制,神經(jīng)網(wǎng)絡(luò)產(chǎn)出的結(jié)果也比他們嘗試過的任何傳統(tǒng)方法都好。這讓我想知道它們是否對(duì)其他嵌入式傳感器應(yīng)用也有用,而且我想看看我們能否將對(duì)這些平臺(tái)的支持構(gòu)建到 TensorFlow 中。當(dāng)時(shí),語音社區(qū)里幾乎沒人知道這項(xiàng)正在進(jìn)行的開創(chuàng)性研究,因此,能夠幫助研究者更廣泛地分享這一研究,我感到很興奮。

今天,我非常高興地宣布,我們將在 TensorFlow Lite 中首次為嵌入式平臺(tái)提供實(shí)驗(yàn)性支持。為了更好地說明,下面我要演示我口袋里的這個(gè)東西了!

這是由 SparkFun 生產(chǎn)的開發(fā)板原型,搭載一個(gè)具有 384KB RAM 和 1MB 閃存的 Cortex M4 處理器。這個(gè)處理器由 Ambiq打造,它的功耗極低,在很多情況下耗電不到 1 毫瓦,所以依靠一枚小小的紐扣電池供電,它就可以運(yùn)行許多天。

現(xiàn)在我要嘗試做現(xiàn)場演示了,我可是把職業(yè)生涯都攥在手里了,所以祝我好運(yùn)吧!我們的目標(biāo)是,當(dāng)我說出 “是” 這個(gè)詞時(shí),這里這個(gè)黃色的小 LED 燈會(huì)亮起來。希望我們可以用這個(gè)攝像頭裝置把這一景象通過大屏幕和直播呈現(xiàn)給每位觀眾。

“是”?!笆恰?。“是”。

可以看到,這遠(yuǎn)遠(yuǎn)稱不上完美,但在我說出這個(gè)詞時(shí),它在努力完成識(shí)別工作,而且做得不錯(cuò),在聽到不相關(guān)的對(duì)話時(shí)也沒有亮起來。

那么,為什么這會(huì)有用呢?首先,它完全在嵌入式芯片上本地運(yùn)行,無需任何網(wǎng)絡(luò)連接,所以非常適合用于語音界面系統(tǒng)。這個(gè)模型自身占用不到 20KB 的閃存存儲(chǔ)空間,TensorFlow Lite 代碼占用 25KB,而且它只需要 30KB 的 RAM 就可以運(yùn)行。

第二,這次演示的軟件完全開源。您可以獲取它的代碼,也可以自行構(gòu)建。我們已經(jīng)將它移植到大量不同的嵌入式芯片中,希望它在未來幾個(gè)月可以出現(xiàn)在更多設(shè)備上。您可以在以下網(wǎng)址自行查看代碼:

https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/experimental/micro

如需更多文檔,請(qǐng)點(diǎn)擊此處:

https://www.tensorflow.org/lite/guide/microcontroller

如果想要自定義示例,您可以試用此代碼實(shí)驗(yàn)室:

https://g.co/codelabs/sparkfunTF

第三,您可以使用我們提供的這個(gè)教程訓(xùn)練自己的模型。它擁有一個(gè)開放數(shù)據(jù)集,其中包含 100000 多條志愿者提交的語音,歡迎您通過下方鏈接幫助擴(kuò)展此數(shù)據(jù)集:https://aiyprojects.withgoogle.com/open_speech_recording

關(guān)于這一點(diǎn),其有用之處在于,如果您自己有想要識(shí)別的詞或聲音,只需要提供新的訓(xùn)練數(shù)據(jù),您就可以根據(jù)自己的問題調(diào)整這種訓(xùn)練方法。

第四,代碼是 TensorFlow Lite 的一部分,它使用相同的 API、文件格式及轉(zhuǎn)換工具,可以很好地集成到 TensorFlow 生態(tài)系統(tǒng)中,因而更易于使用。

那么,您如何親自試用呢?如果您是在座的觀眾之一,我非常高興地告訴您,當(dāng)您今天下午拿起自己的箱子時(shí),您會(huì)發(fā)現(xiàn)屬于自己的 SparkFun Edge 原型開發(fā)板!只需移除標(biāo)簽,打開電池,您應(yīng)該就會(huì)發(fā)現(xiàn)它預(yù)加載了 TensorFlow 的 “是” 示例。只要試試對(duì) TensorFlow 說 “是”,您應(yīng)該就有希望看到黃色的燈光!其中還包括您通過串行端口使用自己的代碼對(duì)其進(jìn)行編程所需的全部線纜。這些是首批生產(chǎn)的 700 個(gè)開發(fā)板,由于線路問題,它比最終設(shè)備耗電要快,但您應(yīng)該可以使用與成品開發(fā)板完全相同的方式進(jìn)行開發(fā)。

如果您是在家中觀看演講,可以花費(fèi) 15 美元,從 SparkFun 訂購?fù)铋_發(fā)板。您還可以在文檔中找到針對(duì)許多其他平臺(tái)的說明,無論您想在何種設(shè)備上構(gòu)建自己的項(xiàng)目,我們都樂意合作。我們?cè)敢馀c社區(qū)的開發(fā)者共同協(xié)作,實(shí)現(xiàn)各種創(chuàng)意,同時(shí)我希望以后能有很多時(shí)間用于審核拉取請(qǐng)求!

最后,由衷感謝幫助我們進(jìn)行此原型設(shè)計(jì)的每個(gè)人,包括 TensorFlow Lite 團(tuán)隊(duì),特別是Raziel、Rocky、Dan、Tim和 Andy;來自 SparkFun的 Alasdair、Nathan、Owen 和 Jim;來自 Ambiq 的 Scott、Steve、Arpit 和 Andre,以及 Arm的許多人士,包括 Rod、Neil 和 Zach!此實(shí)驗(yàn)還處在非常初期的階段,但我迫切希望看到人們用它構(gòu)建的作品。

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

    關(guān)注

    13

    文章

    1189

    瀏覽量

    66115
  • 機(jī)器學(xué)習(xí)

    關(guān)注

    66

    文章

    8325

    瀏覽量

    132219
  • tensorflow
    +關(guān)注

    關(guān)注

    13

    文章

    328

    瀏覽量

    60452
  • TensorFlow Lite
    +關(guān)注

    關(guān)注

    0

    文章

    26

    瀏覽量

    588

原文標(biāo)題:發(fā)布適用于微控制器的 TensorFlow Lite

文章出處:【微信號(hào):tensorflowers,微信公眾號(hào):Tensorflowers】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    TensorFlow Lite 微控制器

    TensorFlow Lite for Microcontrollers 是 TensorFlow Lite 的一個(gè)實(shí)驗(yàn)性移植版本,它適用于
    的頭像 發(fā)表于 08-05 10:11 ?5w次閱讀
    <b class='flag-5'>TensorFlow</b> <b class='flag-5'>Lite</b> <b class='flag-5'>微控制器</b>

    如何使用適用于微控制器TensorFlow Lite

    語音指令。在此用例中,WhisPro 用于啟用基于語音的接口。用戶可以使用自己的聲音來控制設(shè)備。常用指令有:調(diào)高音量、調(diào)低音量、播放、停止等。
    的頭像 發(fā)表于 11-18 17:18 ?2442次閱讀

    AD7980-適用于微芯片微控制器平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序

    AD7980-適用于微芯片微控制器平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序
    發(fā)表于 04-21 19:45 ?13次下載
    AD7980-<b class='flag-5'>適用于</b>微芯片<b class='flag-5'>微控制器</b>平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序

    AD74xx-適用于微芯片微控制器平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序

    AD74xx-適用于微芯片微控制器平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序
    發(fā)表于 05-13 18:41 ?4次下載
    AD74xx-<b class='flag-5'>適用于</b>微芯片<b class='flag-5'>微控制器</b>平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序

    AD5781-適用于微芯片微控制器平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序

    AD5781-適用于微芯片微控制器平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序
    發(fā)表于 05-13 18:54 ?7次下載
    AD5781-<b class='flag-5'>適用于</b>微芯片<b class='flag-5'>微控制器</b>平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序

    AD5781-適用于瑞薩微控制器平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序

    AD5781-適用于瑞薩微控制器平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序
    發(fā)表于 05-13 20:31 ?8次下載
    AD5781-<b class='flag-5'>適用于</b>瑞薩<b class='flag-5'>微控制器</b>平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序

    AD5541A-適用于瑞薩微控制器平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序

    AD5541A-適用于瑞薩微控制器平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序
    發(fā)表于 05-22 12:50 ?6次下載
    AD5541A-<b class='flag-5'>適用于</b>瑞薩<b class='flag-5'>微控制器</b>平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序

    AD5628-適用于微芯片微控制器平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序

    AD5628-適用于微芯片微控制器平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序
    發(fā)表于 05-22 18:31 ?10次下載
    AD5628-<b class='flag-5'>適用于</b>微芯片<b class='flag-5'>微控制器</b>平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序

    AD7193-適用于瑞薩微控制器平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序

    AD7193-適用于瑞薩微控制器平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序
    發(fā)表于 05-22 18:44 ?13次下載
    AD7193-<b class='flag-5'>適用于</b>瑞薩<b class='flag-5'>微控制器</b>平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序

    AD5160-適用于微芯片微控制器平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序

    AD5160-適用于微芯片微控制器平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序
    發(fā)表于 05-22 18:59 ?16次下載
    AD5160-<b class='flag-5'>適用于</b>微芯片<b class='flag-5'>微控制器</b>平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序

    AD5160-適用于瑞薩微控制器平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序

    AD5160-適用于瑞薩微控制器平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序
    發(fā)表于 05-24 10:27 ?13次下載
    AD5160-<b class='flag-5'>適用于</b>瑞薩<b class='flag-5'>微控制器</b>平臺(tái)的無操作系統(tǒng)驅(qū)動(dòng)程序

    借助TensorFlow Lite適用于微控制器和CMSIS-NN)加速Arm微控制器的推理

    微控制器(MCU)是為我們的技術(shù)環(huán)境提供動(dòng)力的微型計(jì)算機(jī)。每年制造的產(chǎn)品超過300億種,嵌入到從家用電器到健身追蹤的所有產(chǎn)品中。如...
    發(fā)表于 01-25 19:00 ?1次下載
    借助<b class='flag-5'>TensorFlow</b> <b class='flag-5'>Lite</b>(<b class='flag-5'>適用于</b><b class='flag-5'>微控制器</b>和CMSIS-NN)加速Arm<b class='flag-5'>微控制器</b>的推理

    DB4564_適用于 STM32 微控制器的自動(dòng)化機(jī)器學(xué)習(xí) (ML) 工具

    DB4564_適用于 STM32 微控制器的自動(dòng)化機(jī)器學(xué)習(xí) (ML) 工具
    發(fā)表于 11-23 20:28 ?0次下載
    DB4564_<b class='flag-5'>適用于</b> STM32 <b class='flag-5'>微控制器</b>的自動(dòng)化機(jī)器學(xué)習(xí) (ML) 工具

    適用于STM32F0xx微控制器的時(shí)鐘配置工具

    電子發(fā)燒友網(wǎng)站提供《適用于STM32F0xx微控制器的時(shí)鐘配置工具.pdf》資料免費(fèi)下載
    發(fā)表于 09-21 10:45 ?3次下載
    <b class='flag-5'>適用于</b>STM32F0xx<b class='flag-5'>微控制器</b>的時(shí)鐘配置工具

    適用于STM32微控制器的∑?數(shù)字接口入門

    電子發(fā)燒友網(wǎng)站提供《適用于STM32微控制器的∑?數(shù)字接口入門.pdf》資料免費(fèi)下載
    發(fā)表于 09-25 09:15 ?0次下載
    <b class='flag-5'>適用于</b>STM32<b class='flag-5'>微控制器</b>的∑?數(shù)字接口入門