chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

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

Tensorflowers ? 來(lái)源:TensorFlow ? 作者:TensorFlow ? 2020-11-18 17:18 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

CEVA 是無(wú)線連接和智能傳感技術(shù)的領(lǐng)先授權(quán)商。我們的產(chǎn)品可幫助原始設(shè)備制造商 (OEM) 為移動(dòng)設(shè)備、消費(fèi)者、汽車、機(jī)器人、工業(yè)和物聯(lián)網(wǎng)等多種終端市場(chǎng),設(shè)計(jì)節(jié)能、智能和聯(lián)網(wǎng)的設(shè)備。

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

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

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

圖 1 CEVA 多麥克風(fēng) DSP 開(kāi)發(fā)板

WhisPro 簡(jiǎn)介

WhisPro 是語(yǔ)音識(shí)別引擎及前端,主要在低功耗、資源受限的邊緣設(shè)備上運(yùn)行,包含負(fù)責(zé)音頻樣本處理到檢測(cè)的整個(gè)數(shù)據(jù)流。

WhisPro 支持兩種邊緣設(shè)備用例:

始終開(kāi)啟的喚醒詞檢測(cè)引擎。在此用例中,WhisPro 用于在檢測(cè)到預(yù)定義的短語(yǔ)時(shí)喚醒處于睡眠模式下的設(shè)備。

語(yǔ)音指令。在此用例中,WhisPro 用于啟用基于語(yǔ)音的接口。用戶可以使用自己的聲音來(lái)控制設(shè)備。常用指令有:調(diào)高音量、調(diào)低音量、播放、停止等。

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

我們的動(dòng)機(jī)

最初,WhisPro 是使用名為 CEVA NN Lib 的內(nèi)部神經(jīng)網(wǎng)絡(luò)庫(kù)實(shí)現(xiàn)的。盡管該實(shí)現(xiàn)具有出色的性能,但是開(kāi)發(fā)過(guò)程相當(dāng)復(fù)雜。我們意識(shí)到,我們可以通過(guò)移植 TFLM 運(yùn)行庫(kù),并針對(duì)目標(biāo)硬件對(duì)其進(jìn)行優(yōu)化的方式,讓整個(gè)模型移植過(guò)程將變得透明且更加可靠(大幅減少需要編寫(xiě)、修改和維護(hù)的代碼量)。

為 CEVA-BX DSP 系列構(gòu)建 TFLM

首先,我們需要弄清楚如何將 TFLM 移植到我們的平臺(tái)上。我們發(fā)現(xiàn),遵循《指南:移植到新平臺(tái)》會(huì)非常有用。

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

在指南的指導(dǎo)下,我們執(zhí)行了以下操作:

驗(yàn)證我們的平臺(tái)支持 DebugLog() 實(shí)現(xiàn)。

在 CEVA 基于 Eclipse 的 IDE 中創(chuàng)建 TFLM 運(yùn)行庫(kù)項(xiàng)目:

在 CEVA 的 IDE 中創(chuàng)建新的 CEVA-BX 項(xiàng)目

將所有必需的源文件添加到項(xiàng)目中

為 CEVA-BX 內(nèi)核構(gòu)建 TFLM 運(yùn)行庫(kù)。
這需要對(duì)路徑(并非所有必需文件都在“micro”目錄下)、鏈接器腳本文件等編譯器標(biāo)記進(jìn)行常規(guī)的調(diào)整。

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

模型移植過(guò)程

我們將從模型中的 Keras 實(shí)現(xiàn)開(kāi)始演示。以下是我們?cè)诼銠C(jī)目標(biāo)硬件上部署模型所采取的步驟:

使用 TF 內(nèi)置轉(zhuǎn)換器將 TensorFlow 模型轉(zhuǎn)換為 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)

執(zhí)行量化操作:

$ 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 模型轉(zhuǎn)換為 TFLM 模型:

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

TF 內(nèi)置轉(zhuǎn)換器
https://tensorflow.google.cn/lite/convert

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

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

這里,我們發(fā)現(xiàn)TFLM(在當(dāng)時(shí))未能很好地支持模型的某些層(如GRU)。我們期待,隨著 TFLM 的繼續(xù)完善,以及 Google 和 TFLM 社區(qū)的持續(xù)投入,類似問(wèn)題將大幅減少。

在我們的案例中,我們選擇了相對(duì)容易的方式:在完全連接層方面重新實(shí)現(xiàn)GRU層。

集成

接下來(lái)是將 TFLM 運(yùn)行庫(kù)和轉(zhuǎn)換后的模型集成到我們現(xiàn)有的嵌入式 C 前端。該前端將處理音頻預(yù)處理和特征提取操作。

即使我們的前端在編寫(xiě)時(shí)并未考慮 TFLM,但因其有較高的模塊化程度,可通過(guò)實(shí)現(xiàn)單個(gè)簡(jiǎn)單的封裝容器函數(shù)來(lái)輕松完成集成,具體步驟如下:

將 TFLM 運(yùn)行庫(kù)鏈接到我們的嵌入式 C 應(yīng)用(WhisPro 前端)

實(shí)現(xiàn) wrapper-over-setup 函數(shù),用于將模型映射到可用的數(shù)據(jù)結(jié)構(gòu)中,以分配解釋器和張量

實(shí)現(xiàn) wrapper-over-execute 函數(shù),用于將 WhisPro 前端傳遞的數(shù)據(jù)映射到實(shí)際執(zhí)行函數(shù)使用的 tflite 張量

將對(duì)原始模型執(zhí)行函數(shù)的調(diào)用替換為對(duì) TFLM 實(shí)現(xiàn)的調(diào)用

過(guò)程可視化

模型的移植過(guò)程將由以下兩者執(zhí)行:

微控制器供應(yīng)商(在本例中為 CEVA),負(fù)責(zé)為自身硬件架構(gòu)優(yōu)化 TFLM。

微控制器用戶(在本例中為 CEVA WhisPro 開(kāi)發(fā)者),負(fù)責(zé)使用優(yōu)化的 TFLM 運(yùn)行庫(kù)在目標(biāo)微控制器上部署基于神經(jīng)網(wǎng)絡(luò)的模型。

未來(lái)計(jì)劃

此項(xiàng)研究已證實(shí) TFLM 平臺(tái)對(duì)我們非常重要。此外,通過(guò)支持 TFLM,我們可以在邊緣設(shè)備上輕松部署神經(jīng)網(wǎng)絡(luò)模型,從而為我們的客戶和合作伙伴帶來(lái)更多的價(jià)值。我們致力于通過(guò)以下方式在 CEVA-BX DSP 系列上深化對(duì) TFLM 的支持:

積極開(kāi)發(fā) TFLM 項(xiàng)目,以便提高層覆蓋率和平臺(tái)總體的成熟度。

對(duì)于在 CEVA-BX 內(nèi)核上執(zhí)行的 TFLM 運(yùn)算符,加大對(duì)其的優(yōu)化力度,以實(shí)現(xiàn)完整覆蓋。

最終想法

盡管移植過(guò)程中遇到了一些困難,但我們最終還是取得了巨大的成功,整個(gè)項(xiàng)目耗時(shí)約 4 至 5 天。除此之外,從頭開(kāi)始用 C 語(yǔ)言實(shí)現(xiàn)模型,以及手動(dòng)編寫(xiě)從 Python 到 C 的模型轉(zhuǎn)換腳本還需要耗費(fèi) 2 至 3 周的時(shí)間,并進(jìn)行大量的調(diào)試工作。

責(zé)任編輯:lq

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

    關(guān)注

    48

    文章

    8175

    瀏覽量

    159804
  • 語(yǔ)音識(shí)別
    +關(guān)注

    關(guān)注

    39

    文章

    1795

    瀏覽量

    115017
  • 智能傳感
    +關(guān)注

    關(guān)注

    1

    文章

    123

    瀏覽量

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

    關(guān)注

    0

    文章

    26

    瀏覽量

    785

原文標(biāo)題:案例分享 | CEVA 使用 TensorFlow Lite 在邊緣設(shè)備部署語(yǔ)音識(shí)別引擎及前端

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

收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    【上海晶珩睿莓1開(kāi)發(fā)板試用體驗(yàn)】TensorFlow-Lite物體歸類(classify)

    目前尚未得知睿莓1開(kāi)發(fā)板上面有NPU或者DPU之類的額外處理,因此使用樹(shù)莓派系列使用最廣泛的TensorFlow-Lite庫(kù)進(jìn)行物體歸類,使用CPU運(yùn)行代碼,因此占用的是CPU的算力。在
    發(fā)表于 09-12 22:43

    無(wú)法將Tensorflow Lite模型轉(zhuǎn)換為OpenVINO?格式怎么處理?

    Tensorflow Lite 模型轉(zhuǎn)換為 OpenVINO? 格式。 遇到的錯(cuò)誤: FrontEnd API failed with OpConversionFailure:No translator found for TFLite_Detection_PostP
    發(fā)表于 06-25 08:27

    貿(mào)澤電子開(kāi)售NXP RW61x無(wú)線微控制器

    貿(mào)澤電子開(kāi)售NXP Semiconductors的RW61x無(wú)線微控制器。其中RW612是一款高集成度、高安全性的無(wú)線MCU,適用于智能家居、游戲、工業(yè)自動(dòng)化和智能配件等應(yīng)用。
    的頭像 發(fā)表于 06-23 11:48 ?867次閱讀

    SkyOne? LiTE 低頻段前端模塊,帶 2G/3G/4G 功率放大器,適用于 LTE 應(yīng)用 skyworksinc

    電子發(fā)燒友網(wǎng)為你提供()SkyOne? LiTE 低頻段前端模塊,帶 2G/3G/4G 功率放大器,適用于 LTE 應(yīng)用相關(guān)產(chǎn)品參數(shù)、數(shù)據(jù)手冊(cè),更有SkyOne? LiTE 低頻段前端模塊,帶 2G
    發(fā)表于 06-18 18:31
    SkyOne? <b class='flag-5'>LiTE</b> 低頻段前端模塊,帶 2G/3G/4G 功率放大器,<b class='flag-5'>適用于</b> LTE 應(yīng)用 skyworksinc

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

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

    RAA270000KFT適用于 RH850 汽車微控制器的電源管理IC數(shù)據(jù)手冊(cè)

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

    帶有FPU的32位微控制器RX23T系列數(shù)據(jù)手冊(cè)

    RX23T 系列是適用于單逆變器控制的 32 位微控制器,具有內(nèi)置浮點(diǎn)處理單元(FPU),讓用戶輕松編程復(fù)雜的逆變器控制算法??纱蟠鬁p少軟件開(kāi)發(fā)和維護(hù)所需的工時(shí)。 此外,由于采用了 R
    的頭像 發(fā)表于 03-24 17:21 ?721次閱讀
    帶有FPU的32位<b class='flag-5'>微控制器</b>RX23T系列數(shù)據(jù)手冊(cè)

    適用于單電機(jī)控制應(yīng)用的RX13T系列32位微控制器數(shù)據(jù)手冊(cè)

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

    DLPC3470 適用于DLP2010LC數(shù)字微鏡器件的DLP? 控制器技術(shù)手冊(cè)

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

    DLPC3479 適用于DLP4710LC的DLP顯示和光控制器技術(shù)手冊(cè)

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

    DLPC3478 適用于DLP3010LC數(shù)字微鏡器件的顯示和光控制器數(shù)據(jù)手冊(cè)

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

    STM32H753IIT6 一款32位微控制器MCU/MSP430F5325IPNR一款16位MCU

    ?MSP430F5325IPNR?是一款16位低功耗微控制器,屬于MSP430系列。該微控制器具有以下主要特點(diǎn)和功能: 1、低功耗設(shè)計(jì)?:MSP430F5325IPNR采用低功耗設(shè)計(jì),適合對(duì)能耗敏感
    發(fā)表于 02-21 14:59

    FPGA 與微控制器優(yōu)缺點(diǎn)比較

    在現(xiàn)代電子設(shè)計(jì)領(lǐng)域,F(xiàn)PGA和微控制器(MCU)是兩種常用的計(jì)算平臺(tái)。它們各自具有獨(dú)特的優(yōu)勢(shì)和局限性,適用于不同的應(yīng)用場(chǎng)景。 性能 FPGA FPGA是一種可編程的硬件,由大量的邏輯單元、觸發(fā)
    的頭像 發(fā)表于 12-02 09:58 ?1532次閱讀

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

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

    TPS53676適用于CPU/ASIC內(nèi)核電源軌應(yīng)用的DCAP+直流/直流降壓控制器評(píng)估模塊

    電子發(fā)燒友網(wǎng)站提供《TPS53676適用于CPU/ASIC內(nèi)核電源軌應(yīng)用的DCAP+直流/直流降壓控制器評(píng)估模塊.pdf》資料免費(fèi)下載
    發(fā)表于 11-07 09:21 ?0次下載
    TPS53676<b class='flag-5'>適用于</b>CPU/ASIC內(nèi)核電源軌應(yīng)用的DCAP+直流/直流降壓<b class='flag-5'>控制器</b>評(píng)估模塊