女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

3天內不再提示

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

Tensorflowers ? 來源:TensorFlow ? 作者:TensorFlow ? 2020-11-18 17:18 ? 次閱讀

CEVA 是無線連接和智能傳感技術的領先授權商。我們的產品可幫助原始設備制造商 (OEM) 為移動設備、消費者、汽車、機器人、工業和物聯網等多種終端市場,設計節能、智能和聯網的設備。

CEVA
https://www.ceva-dsp.com/

在本文中,我們將說明如何使用適用于微控制器TensorFlow Lite (TensorFlow Lite for Microcontrollers, TFLM),在基于 CEVA-BX DSP 內核的裸機開發板上部署名為 WhisPro 的語音識別引擎及前端。WhisPro 可在設備端有效識別隨時出現的喚醒詞和語音命令。

適用于微控制器的 TensorFlow Lite
https://tensorflow.google.cn/lite/microcontrollers

圖 1 CEVA 多麥克風 DSP 開發板

WhisPro 簡介

WhisPro 是語音識別引擎及前端,主要在低功耗、資源受限的邊緣設備上運行,包含負責音頻樣本處理到檢測的整個數據流。

WhisPro 支持兩種邊緣設備用例:

始終開啟的喚醒詞檢測引擎。在此用例中,WhisPro 用于在檢測到預定義的短語時喚醒處于睡眠模式下的設備。

語音指令。在此用例中,WhisPro 用于啟用基于語音的接口。用戶可以使用自己的聲音來控制設備。常用指令有:調高音量、調低音量、播放、停止等。

WhisPro 可在集成了 CEVA BX DSP 內核的任何 SoC 上啟用語音接口,從而為希望參與語音接口變革的 OEM 和原始設計制造商 (ODM) 降低了準入門檻。

我們的動機

最初,WhisPro 是使用名為 CEVA NN Lib 的內部神經網絡庫實現的。盡管該實現具有出色的性能,但是開發過程相當復雜。我們意識到,我們可以通過移植 TFLM 運行庫,并針對目標硬件對其進行優化的方式,讓整個模型移植過程將變得透明且更加可靠(大幅減少需要編寫、修改和維護的代碼量)。

為 CEVA-BX DSP 系列構建 TFLM

首先,我們需要弄清楚如何將 TFLM 移植到我們的平臺上。我們發現,遵循《指南:移植到新平臺》會非常有用。

指南:移植到新平臺
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/micro/docs/new_platform_support.md

在指南的指導下,我們執行了以下操作:

驗證我們的平臺支持 DebugLog() 實現。

在 CEVA 基于 Eclipse 的 IDE 中創建 TFLM 運行庫項目:

在 CEVA 的 IDE 中創建新的 CEVA-BX 項目

將所有必需的源文件添加到項目中

為 CEVA-BX 內核構建 TFLM 運行庫。
這需要對路徑(并非所有必需文件都在“micro”目錄下)、鏈接器腳本文件等編譯器標記進行常規的調整。

DebugLog()
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/lite/micro/debug_log.cc

模型移植過程

我們將從模型中的 Keras 實現開始演示。以下是我們在裸機目標硬件上部署模型所采取的步驟:

使用 TF 內置轉換器將 TensorFlow 模型轉換為 TensorFlow Lite 模型:

$ python3 -m tensorflow_docs.tools.nbfmt [options] notebook.ipynbconverter = tf.lite.TFLiteConverter.from_keras_model(keras_model) converter.experimental_new_converter = True tflite_model = converter.convert() open("converted_to_tflite_model.tflite", "wb").write(tflite_model)

執行量化操作:

$ python3 -m tensorflow_docs.tools.nbfmt [options] notebook.ipynbconverter.optimizations = [tf.lite.Optimize.OPTIMIZE_FOR_SIZE] converter.target_spec.supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS_INT8] converter.representative_dataset = representative_data_gen

使用 xxd 將 TensorFlow Lite 模型轉換為 TFLM 模型:

$ python3 -m tensorflow_docs.tools.nbfmt [options] notebook.ipynb$> xxd –I model.tflite > model.cc

TF 內置轉換器
https://tensorflow.google.cn/lite/convert

量化
https://tensorflow.google.cn/lite/performance/model_optimization#quantization

xxd
https://linux.die.net/man/1/xxd

這里,我們發現TFLM(在當時)未能很好地支持模型的某些層(如GRU)。我們期待,隨著 TFLM 的繼續完善,以及 Google 和 TFLM 社區的持續投入,類似問題將大幅減少。

在我們的案例中,我們選擇了相對容易的方式:在完全連接層方面重新實現GRU層。

集成

接下來是將 TFLM 運行庫和轉換后的模型集成到我們現有的嵌入式 C 前端。該前端將處理音頻預處理和特征提取操作。

即使我們的前端在編寫時并未考慮 TFLM,但因其有較高的模塊化程度,可通過實現單個簡單的封裝容器函數來輕松完成集成,具體步驟如下:

將 TFLM 運行庫鏈接到我們的嵌入式 C 應用(WhisPro 前端)

實現 wrapper-over-setup 函數,用于將模型映射到可用的數據結構中,以分配解釋器和張量

實現 wrapper-over-execute 函數,用于將 WhisPro 前端傳遞的數據映射到實際執行函數使用的 tflite 張量

將對原始模型執行函數的調用替換為對 TFLM 實現的調用

過程可視化

模型的移植過程將由以下兩者執行:

微控制器供應商(在本例中為 CEVA),負責為自身硬件架構優化 TFLM。

微控制器用戶(在本例中為 CEVA WhisPro 開發者),負責使用優化的 TFLM 運行庫在目標微控制器上部署基于神經網絡的模型。

未來計劃

此項研究已證實 TFLM 平臺對我們非常重要。此外,通過支持 TFLM,我們可以在邊緣設備上輕松部署神經網絡模型,從而為我們的客戶和合作伙伴帶來更多的價值。我們致力于通過以下方式在 CEVA-BX DSP 系列上深化對 TFLM 的支持:

積極開發 TFLM 項目,以便提高層覆蓋率和平臺總體的成熟度。

對于在 CEVA-BX 內核上執行的 TFLM 運算符,加大對其的優化力度,以實現完整覆蓋。

最終想法

盡管移植過程中遇到了一些困難,但我們最終還是取得了巨大的成功,整個項目耗時約 4 至 5 天。除此之外,從頭開始用 C 語言實現模型,以及手動編寫從 Python 到 C 的模型轉換腳本還需要耗費 2 至 3 周的時間,并進行大量的調試工作。

責任編輯:lq

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 微控制器
    +關注

    關注

    48

    文章

    7900

    瀏覽量

    153645
  • 語音識別
    +關注

    關注

    39

    文章

    1773

    瀏覽量

    113868
  • 智能傳感
    +關注

    關注

    1

    文章

    112

    瀏覽量

    16862
  • TensorFlow Lite
    +關注

    關注

    0

    文章

    26

    瀏覽量

    713

原文標題:案例分享 | CEVA 使用 TensorFlow Lite 在邊緣設備部署語音識別引擎及前端

文章出處:【微信號:tensorflowers,微信公眾號:Tensorflowers】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    SkyOne? LiTE 中頻和高頻帶前端模塊,適用于 3G、4G 和 5G 應用 skyworksinc

    電子發燒友網為你提供()SkyOne? LiTE 中頻和高頻帶前端模塊,適用于 3G、4G 和 5G 應用相關產品參數、數據手冊,更有SkyOne? LiTE 中頻和高頻帶前端模塊,適用于
    發表于 05-19 18:31
    SkyOne? <b class='flag-5'>LiTE</b> 中頻和高頻帶前端模塊,<b class='flag-5'>適用于</b> 3G、4G 和 5G 應用 skyworksinc

    RAA270000KFT適用于 RH850 汽車微控制器的電源管理IC數據手冊

    RAA270000KFT 是一款適用于 RH850 汽車微控制器系列的電源管理 IC (PMIC)。RAA270000KFT 包含兩個集成的電流模式 DC-DC 轉換、四個低壓差線性穩壓
    的頭像 發表于 04-09 16:10 ?290次閱讀
    RAA270000KFT<b class='flag-5'>適用于</b> RH850 汽車<b class='flag-5'>微控制器</b>的電源管理IC數據手冊

    帶有FPU的32位微控制器RX23T系列數據手冊

    RX23T 系列是適用于單逆變器控制的 32 位微控制器,具有內置浮點處理單元(FPU),讓用戶輕松編程復雜的逆變器控制算法。可大大減少軟件開發和維護所需的工時。 此外,由于采用了 R
    的頭像 發表于 03-24 17:21 ?359次閱讀
    帶有FPU的32位<b class='flag-5'>微控制器</b>RX23T系列數據手冊

    適用于單電機控制應用的RX13T系列32位微控制器數據手冊

    面積和BOM元器件。 *附件:適用于單電機控制應用的RX13T系列32位微控制器數據手冊.pdf 特性 搭載32MHz工
    的頭像 發表于 03-19 18:02 ?547次閱讀
    <b class='flag-5'>適用于</b>單電機<b class='flag-5'>控制</b>應用的RX13T系列32位<b class='flag-5'>微控制器</b>數據手冊

    DLPC3470 適用于DLP2010LC數字微鏡器件的DLP? 控制器技術手冊

    DLPC3470 顯示和光控制器為 DLP2010LC 或 DLP2010NIR 數字微鏡器件 (DMD) 的可靠運行提供支持,適用于視頻顯示和光控制應用。DLPC3470 控制器
    的頭像 發表于 03-04 15:40 ?401次閱讀
    DLPC3470 <b class='flag-5'>適用于</b>DLP2010LC數字微鏡器件的DLP? <b class='flag-5'>控制器</b>技術手冊

    DLPC3479 適用于DLP4710LC的DLP顯示和光控制器技術手冊

    DLPC3479 顯示和光控制器為 DLP4710LC (.47 1080p) 芯片組的一部分,為 DLP4710LC 數字微鏡器件 (DMD)的可靠運行提供支持,適用于視頻顯示和光控制應用。DLPC3479
    的頭像 發表于 03-04 14:25 ?416次閱讀
    DLPC3479 <b class='flag-5'>適用于</b>DLP4710LC的DLP顯示和光<b class='flag-5'>控制器</b>技術手冊

    DLPC3478 適用于DLP3010LC數字微鏡器件的顯示和光控制器數據手冊

    DLPC3478 顯示和光控制器為 DLP3010LC 數字微鏡器件 (DMD) 的可靠運行提供支持,適用于視頻顯示和光控制應用。DLPC3478 控制器提供了連接用戶電子產品和 DM
    的頭像 發表于 03-04 12:26 ?387次閱讀
    DLPC3478 <b class='flag-5'>適用于</b>DLP3010LC數字微鏡器件的顯示和光<b class='flag-5'>控制器</b>數據手冊

    FPGA 與微控制器優缺點比較

    在現代電子設計領域,FPGA和微控制器(MCU)是兩種常用的計算平臺。它們各自具有獨特的優勢和局限性,適用于不同的應用場景。 性能 FPGA FPGA是一種可編程的硬件,由大量的邏輯單元、觸發
    的頭像 發表于 12-02 09:58 ?1069次閱讀

    LM74900Q1EVM適用于LM74900-Q1理想二極管控制器的評估模塊

    電子發燒友網站提供《LM74900Q1EVM適用于LM74900-Q1理想二極管控制器的評估模塊.pdf》資料免費下載
    發表于 11-12 15:36 ?3次下載
    LM74900Q1EVM<b class='flag-5'>適用于</b>LM74900-Q1理想二極管<b class='flag-5'>控制器</b>的評估模塊

    ESP32 微控制器系列指南

    Systems 創建了功能強大且價格實惠的片上系統 (SoC) 設備,將 Wi-Fi、藍牙和中央處理單元 (CPU) 集成到一個微控制器封裝中,使這些 SoC 成為理想的選擇適用于嵌入式控制器和物聯網項目
    的頭像 發表于 10-02 18:21 ?4648次閱讀
    ESP32 <b class='flag-5'>微控制器</b>系列指南

    什么是微控制器/它的關鍵組成部分有哪些?

    微控制器
    芯廣場
    發布于 :2024年09月18日 15:02:33

    微控制器內部的存儲有哪些

    微控制器(MCU)內部的存儲微控制器系統的重要組成部分,它負責存儲程序代碼、數據以及控制邏輯等信息。這些存儲類型多樣,各具特點,共同支
    的頭像 發表于 08-22 10:41 ?1236次閱讀

    微控制器的結構和應用

    微控制器(Microcontroller Unit,簡稱MCU)作為嵌入式系統的核心部件,其原理和應用在現代科技發展中占據了舉足輕重的地位。本文將從微控制器的原理、基本結構、工作原理、性能特點以及廣泛的應用領域等方面進行詳細闡述,旨在全面介紹
    的頭像 發表于 08-22 10:40 ?2217次閱讀

    英飛凌推出適用于汽車電池管理系統的PSoC? 4 HVPA-144K微控制器

    【 2024 年 6 月 11 日,德國慕尼黑訊】 英飛凌科技股份公司(FSE代碼:IFX / OTCQX代碼:IFNNY)推出 PSoCTM 4高壓精密模擬(HVPA)-144K微控制器,通過將
    發表于 06-11 15:10 ?1185次閱讀
    英飛凌推出<b class='flag-5'>適用于</b>汽車電池管理系統的PSoC? 4 HVPA-144K<b class='flag-5'>微控制器</b>

    MCX N系列微控制器適用于安全、智能的電機控制和機器學習應用

    ?? 貿澤電子即日起開售NXP Semiconductors的MCX工業和物聯網微控制器 (MCU)。這些新款MCU屬于高性能、低功耗微控制器,配備智能外設和加速適用于安全、智能的
    的頭像 發表于 06-05 09:06 ?1402次閱讀