在過去的一年里,我花了很多時間研究在微控制器上開展機器學習,今天終于可以在 TensorFlow 開發者峰會上公開展示成果了,這感覺真的很棒。不僅如此,我還能夠演示 TensorFlow Lite 在 Cortex M4 開發板上運行,處理簡單的語音關鍵字識別。我非常緊張,尤其是還需要克服禮堂的噪音,但我做到了,我讓小小的黃色發光二極管 (LED) 閃爍,響應我的命令!如果您有興趣親自試用,只需 15 美元,即可從 SparkFun 購得含有預加載示例代碼的開發板。如果您未能觀看我的演講,歡迎閱讀下面的文字記錄。
注:示例代碼 鏈接
https://www.sparkfun.com/products/15170
大家好,我是 TensorFlow Lite 團隊的 Pete Warden,我要介紹一個讓我們非常振奮的新項目。2014 年,我剛剛加入 Google,了解到很多彼時尚未公開但非常刺激的內部研究。不過,印象最深的一刻是在見到 Raziel時,他當時在語音團隊工作,他跟我說他們用的網絡模型大小只有 13 千字節!我只接觸過圖像模型,那時,即使是像 Inception 這樣最小的模型也仍然有幾兆字節大。
當他告訴我為什么這些模型一定要這么小時,我更吃驚了。他們需要在智能手機的數字信號處理器 (DSP) 和其他嵌入式芯片上運行這些模型,以便 Android 能夠在主 CPU 關閉以節省電池電量的情況下監聽到 “嘿,Google” 等喚醒詞。這些微控制器的隨機存取存儲器 (RAM) 和閃存往往只有幾十千字節,無法兼容更大的模型。他們也無法依靠云連接,因為持續開啟任何無線連接都會讓電池電量迅速耗盡。
令我印象深刻的是,語音團隊擁有非常豐富的經驗,他們花費了大量時間進行實驗,即使面對嚴苛的設備限制,神經網絡產出的結果也比他們嘗試過的任何傳統方法都好。這讓我想知道它們是否對其他嵌入式傳感器應用也有用,而且我想看看我們能否將對這些平臺的支持構建到 TensorFlow 中。當時,語音社區里幾乎沒人知道這項正在進行的開創性研究,因此,能夠幫助研究者更廣泛地分享這一研究,我感到很興奮。
今天,我非常高興地宣布,我們將在 TensorFlow Lite 中首次為嵌入式平臺提供實驗性支持。為了更好地說明,下面我要演示我口袋里的這個東西了!
這是由 SparkFun 生產的開發板原型,搭載一個具有 384KB RAM 和 1MB 閃存的 Cortex M4 處理器。這個處理器由 Ambiq打造,它的功耗極低,在很多情況下耗電不到 1 毫瓦,所以依靠一枚小小的紐扣電池供電,它就可以運行許多天。
現在我要嘗試做現場演示了,我可是把職業生涯都攥在手里了,所以祝我好運吧!我們的目標是,當我說出 “是” 這個詞時,這里這個黃色的小 LED 燈會亮起來。希望我們可以用這個攝像頭裝置把這一景象通過大屏幕和直播呈現給每位觀眾。
“是”。“是”。“是”。
可以看到,這遠遠稱不上完美,但在我說出這個詞時,它在努力完成識別工作,而且做得不錯,在聽到不相關的對話時也沒有亮起來。
那么,為什么這會有用呢?首先,它完全在嵌入式芯片上本地運行,無需任何網絡連接,所以非常適合用于語音界面系統。這個模型自身占用不到 20KB 的閃存存儲空間,TensorFlow Lite 代碼占用 25KB,而且它只需要 30KB 的 RAM 就可以運行。
第二,這次演示的軟件完全開源。您可以獲取它的代碼,也可以自行構建。我們已經將它移植到大量不同的嵌入式芯片中,希望它在未來幾個月可以出現在更多設備上。您可以在以下網址自行查看代碼:
https://github.com/tensorflow/tensorflow/tree/master/tensorflow/lite/experimental/micro
如需更多文檔,請點擊此處:
https://www.tensorflow.org/lite/guide/microcontroller
如果想要自定義示例,您可以試用此代碼實驗室:
https://g.co/codelabs/sparkfunTF
第三,您可以使用我們提供的這個教程訓練自己的模型。它擁有一個開放數據集,其中包含 100000 多條志愿者提交的語音,歡迎您通過下方鏈接幫助擴展此數據集:https://aiyprojects.withgoogle.com/open_speech_recording
關于這一點,其有用之處在于,如果您自己有想要識別的詞或聲音,只需要提供新的訓練數據,您就可以根據自己的問題調整這種訓練方法。
第四,代碼是 TensorFlow Lite 的一部分,它使用相同的 API、文件格式及轉換工具,可以很好地集成到 TensorFlow 生態系統中,因而更易于使用。
那么,您如何親自試用呢?如果您是在座的觀眾之一,我非常高興地告訴您,當您今天下午拿起自己的箱子時,您會發現屬于自己的 SparkFun Edge 原型開發板!只需移除標簽,打開電池,您應該就會發現它預加載了 TensorFlow 的 “是” 示例。只要試試對 TensorFlow 說 “是”,您應該就有希望看到黃色的燈光!其中還包括您通過串行端口使用自己的代碼對其進行編程所需的全部線纜。這些是首批生產的 700 個開發板,由于線路問題,它比最終設備耗電要快,但您應該可以使用與成品開發板完全相同的方式進行開發。
如果您是在家中觀看演講,可以花費 15 美元,從 SparkFun 訂購同款開發板。您還可以在文檔中找到針對許多其他平臺的說明,無論您想在何種設備上構建自己的項目,我們都樂意合作。我們愿意與社區的開發者共同協作,實現各種創意,同時我希望以后能有很多時間用于審核拉取請求!
最后,由衷感謝幫助我們進行此原型設計的每個人,包括 TensorFlow Lite 團隊,特別是Raziel、Rocky、Dan、Tim和 Andy;來自 SparkFun的 Alasdair、Nathan、Owen 和 Jim;來自 Ambiq 的 Scott、Steve、Arpit 和 Andre,以及 Arm的許多人士,包括 Rod、Neil 和 Zach!此實驗還處在非常初期的階段,但我迫切希望看到人們用它構建的作品。
-
發光二極管
+關注
關注
13文章
1204瀏覽量
66507 -
機器學習
+關注
關注
66文章
8438瀏覽量
133080 -
tensorflow
+關注
關注
13文章
329瀏覽量
60629 -
TensorFlow Lite
+關注
關注
0文章
26瀏覽量
647
原文標題:發布適用于微控制器的 TensorFlow Lite
文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論