日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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

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

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

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

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

掃碼添加小助手

加入工程師交流群

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

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

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

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

圖 1 CEVA 多麥克風 DSP 開發(fā)板

WhisPro 簡介

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

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

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

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

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

我們的動機

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

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

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

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

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

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

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

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

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

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

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

模型移植過程

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

使用 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(在當時)未能很好地支持模型的某些層(如GRU)。我們期待,隨著 TFLM 的繼續(xù)完善,以及 Google 和 TFLM 社區(qū)的持續(xù)投入,類似問題將大幅減少。

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

集成

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

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

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

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

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

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

過程可視化

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

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

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

未來計劃

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

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

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

最終想法

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

責任編輯:lq

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

    關(guān)注

    49

    文章

    8890

    瀏覽量

    165866
  • 語音識別
    +關(guān)注

    關(guān)注

    39

    文章

    1825

    瀏覽量

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

    關(guān)注

    1

    文章

    136

    瀏覽量

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

    關(guān)注

    0

    文章

    26

    瀏覽量

    845

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

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

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

掃碼添加小助手

加入工程師交流群

    評論

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

    ST7LITE0xY0與ST7LITESxY0 8位微控制器深度剖析

    ST7LITE0xY0與ST7LITESxY0 8位微控制器深度剖析 在電子設(shè)計領(lǐng)域,選擇一款合適的微控制器對于項目的成功至關(guān)重要。ST7LITE0xY0和ST7LITESxY0 8位
    的頭像 發(fā)表于 04-16 13:40 ?187次閱讀

    ST72324Jx/ST72324Kx微控制器:功能、特性與應(yīng)用分析

    ST7微控制器家族。它適用于多種應(yīng)用場景,32引腳設(shè)備適用于中程應(yīng)用,42/44引腳設(shè)備則針對需要超過24個I/O端口的應(yīng)用。不過需要注意的是,該產(chǎn)品已不推薦用于新設(shè)計。 文件下載
    的頭像 發(fā)表于 04-16 13:05 ?208次閱讀

    STA2051:適用于GPS與遠程信息處理的32位單芯片基帶控制器

    STA2051:適用于GPS與遠程信息處理的32位單芯片基帶控制器 在電子工程領(lǐng)域,對于GPS和遠程信息處理應(yīng)用來說,一款性能卓越的單芯片基帶控制器至關(guān)重要。今天我們就來詳細了解一下意法半導體(ST
    的頭像 發(fā)表于 04-15 15:50 ?110次閱讀

    RL78/L1C微控制器:特性、規(guī)格與應(yīng)用全解析

    一款備受關(guān)注的產(chǎn)品,它具有諸多出色的特性和豐富的功能,適用于各類基于LCD的應(yīng)用場景。下面我們就來詳細了解一下RL78/L1C微控制器。 文件下載: R5F10266ASP#V5.pdf 一、產(chǎn)品概述 RL78/L1C微控制器
    的頭像 發(fā)表于 04-13 14:45 ?185次閱讀

    深入了解ACE1101:適用于低功耗應(yīng)用的算術(shù)控制器引擎

    深入了解ACE1101:適用于低功耗應(yīng)用的算術(shù)控制器引擎 在當今對功耗要求日益嚴苛的電子應(yīng)用領(lǐng)域,低功耗高性能的微控制器顯得尤為重要。Fairchild Semiconductor推出
    的頭像 發(fā)表于 04-10 14:45 ?172次閱讀

    探索AT43USB355:適用于游戲控制器的高性能USB微控制器

    探索AT43USB355:適用于游戲控制器的高性能USB微控制器 在電子設(shè)備的設(shè)計領(lǐng)域,一款性能卓越且功能豐富的微控制器對于產(chǎn)品的成功至關(guān)重要。今天,我們就來深入了解一下Atmel公司
    的頭像 發(fā)表于 04-06 09:05 ?282次閱讀

    MAX32570:用于安全應(yīng)用的低功耗ARM Cortex - M4微控制器

    MAX32570 DeepCover?安全微控制器具有互操作性、安全性和成本效益等特點,適用于多種應(yīng)用場景。它既可以用于單芯片應(yīng)用,如
    的頭像 發(fā)表于 03-26 16:50 ?329次閱讀

    TMS320F2807x微控制器:工業(yè)控制領(lǐng)域的強大之選

    的C28x內(nèi)核的32位浮點微控制器,專為實時控制應(yīng)用而優(yōu)化。它適用于工業(yè)電機驅(qū)動、太陽能逆變器、電動汽車等領(lǐng)域,能夠顯
    的頭像 發(fā)表于 03-26 11:35 ?326次閱讀

    ST7LITE3xF2微控制器:特性、應(yīng)用與設(shè)計要點解析

    ST7LITE3xF2微控制器:特性、應(yīng)用與設(shè)計要點解析 在電子工程師的日常工作中,選擇一款合適的微控制器對于項目的成功至關(guān)重要。ST7LITE3xF2作為ST7
    的頭像 發(fā)表于 02-09 11:50 ?713次閱讀

    如何在TensorFlow Lite Micro中添加自定義操作符(1)

    相信大家在部署嵌入式端的AI應(yīng)用時,一定使用過TensorFlow Lite Micro,以下簡稱TFLm。TFLm 是專為微控制器和嵌入式設(shè)備設(shè)計的輕量級機器學習推理框架,它通過模塊化的操作符系統(tǒng)
    的頭像 發(fā)表于 12-26 10:34 ?5816次閱讀

    MOTIX? TLE989x/TLE988x:適用于BLDC應(yīng)用的微控制器解決方案

    MOTIX? TLE989x/TLE988x:適用于BLDC應(yīng)用的微控制器解決方案 在電子工程領(lǐng)域,為BLDC(無刷直流)電機控制尋找一款性能卓越、功能豐富且安全可靠的微控制器至關(guān)重要
    的頭像 發(fā)表于 12-20 10:25 ?1257次閱讀

    MOTIX? TLE994x/TLE995x:適用于BLDC應(yīng)用的微控制器

    MOTIX? TLE994x/TLE995x:適用于BLDC應(yīng)用的微控制器 在電子工程領(lǐng)域,對于BLDC(無刷直流電機)應(yīng)用的開發(fā),一款性能出色且功能豐富的微控制器至關(guān)重要。今天,我們就來詳細
    的頭像 發(fā)表于 12-18 11:50 ?1144次閱讀

    請問CW32系列微控制器適用于哪些應(yīng)用領(lǐng)域?

    CW32系列微控制器適用于哪些應(yīng)用領(lǐng)域?
    發(fā)表于 12-16 07:20

    CW32系列微控制器的時鐘源和定時選項介紹

    (HSI):這是由微控制器內(nèi)部產(chǎn)生的時鐘源,通常具有較高的頻率,但可能受到溫度和工藝變化的影響。 內(nèi)部低速時鐘(LSI):這是由微控制器內(nèi)部產(chǎn)生的較低頻率的時鐘源,適用于需要低功耗的應(yīng)用。 鎖相環(huán)
    發(fā)表于 12-16 06:26

    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ù)手冊,更有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
    舟山市| 葫芦岛市| 洛阳市| 陕西省| 饶河县| 将乐县| 玉门市| 淄博市| 武隆县| 视频| 桦川县| 时尚| 鄯善县| 兴安盟| 陕西省| 江西省| 隆回县| 普兰县| 呼伦贝尔市| 海兴县| 峨眉山市| 张家川| 宁蒗| 文安县| 金川县| 昌乐县| 简阳市| 泰宁县| 平遥县| 普宁市| 临沧市| 信丰县| 皋兰县| 三门县| 丹东市| 方城县| 喀喇| 恩平市| 大足县| 河曲县| 靖江市|