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

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

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

TensorFlow Lite 微控制器

Tensorflowers ? 來(lái)源:YXQ ? 2019-08-05 10:11 ? 次閱讀

TensorFlow Lite for MicrocontrollersTensorFlow Lite 的一個(gè)實(shí)驗(yàn)性移植版本,它適用于微控制器和其他一些僅有數(shù)千字節(jié)內(nèi)存的設(shè)備。

它可以直接在“裸機(jī)”上運(yùn)行,不需要操作系統(tǒng)支持、任何標(biāo)準(zhǔn) C/C++ 庫(kù)和動(dòng)態(tài)內(nèi)存分配。核心運(yùn)行時(shí) (core runtime) 在 Cortex M3 上運(yùn)行時(shí)僅需 16KB,加上足以用來(lái)運(yùn)行語(yǔ)音關(guān)鍵字檢測(cè)模型的操作,也只需 22KB 的空間。

開始

要快速入門并運(yùn)行 TensorFlow Lite for Microcontrollers,請(qǐng)閱讀微控制器入門。

注:微控制器入門 鏈接

https://tensorflow.google.cn/lite/microcontrollers/get_started

為什么微控制器很重要

微控制器通常是小型、低能耗的計(jì)算設(shè)備,經(jīng)常嵌入在只需要進(jìn)行基本運(yùn)算的硬件中,包括家用電器和物聯(lián)網(wǎng)設(shè)備等。每年都有數(shù)十億個(gè)微控制器被生產(chǎn)出來(lái)。

微控制器通常針對(duì)低能耗和小尺寸進(jìn)行優(yōu)化,但代價(jià)是降低了處理能力、內(nèi)存和存儲(chǔ)。一些微控制器具有用來(lái)優(yōu)化機(jī)器學(xué)習(xí)任務(wù)性能的功能。

通過(guò)在微控制器上運(yùn)行機(jī)器學(xué)習(xí)推斷,開發(fā)人員可以在不依賴于網(wǎng)絡(luò)連接的情況下將 AI 添加到各種各樣的硬件設(shè)備中,這經(jīng)常用來(lái)克服帶寬、功率以及由它們所導(dǎo)致的高延遲而造成的約束。在設(shè)備上運(yùn)行推斷也可以幫助保護(hù)隱私,因?yàn)闆]有數(shù)據(jù)從設(shè)備中發(fā)送出去。

功能和組件

C++ API,其運(yùn)行時(shí) (runtime) 在 Cortex M3 上僅需 16KB

使用標(biāo)準(zhǔn)的 TensorFlow Lite FlatBuffer架構(gòu) (schema)

Arduino、Keil 和 Mbed 等較為流行的嵌入式開發(fā)平臺(tái)預(yù)生成的項(xiàng)目文件

針對(duì)多個(gè)嵌入式平臺(tái)優(yōu)化

演示口語(yǔ)熱詞檢測(cè)的示例代碼

開發(fā)工作流程

這是將 TensorFlow 模型部署到微控制器的過(guò)程:

創(chuàng)建或獲取 TensorFlow 模型該模型必須非常小,以便在轉(zhuǎn)換后適合您的目標(biāo)設(shè)備。它只能使用支持的操作。如果要使用當(dāng)前不被支持的操作,可以提供自己的實(shí)現(xiàn)。

將模型轉(zhuǎn)換為 TensorFlow Lite FlatBuffer您將使用 TensorFlow Lite 轉(zhuǎn)換器來(lái)將模型轉(zhuǎn)換為標(biāo)準(zhǔn) TensorFlow Lite 格式。您可能希望輸出量化模型,因?yàn)樗鼈兊某叽绺?、?zhí)行效率更高。

將 FlatBuffer 轉(zhuǎn)換為 C byte 數(shù)組模型保存在只讀程序存儲(chǔ)器中,并以簡(jiǎn)單的 C 文件的形式提供。標(biāo)準(zhǔn)工具可用于將 FlatBuffer 轉(zhuǎn)換為 C 數(shù)組。

集成 TensorFlow Lite for Microcontrollers 的 C++ 庫(kù)編寫微控制器代碼以使用 C++ 庫(kù)執(zhí)行推斷。

部署到您的設(shè)備構(gòu)建程序并將其部署到您的設(shè)備。

注:構(gòu)建和轉(zhuǎn)換模型 鏈接

https://tensorflow.google.cn/lite/microcontrollers/build_convert#%E8%BD%AC%E6%8D%A2%E6%A8%A1%E5%9E%8B

理解 C++ 庫(kù) 鏈接

https://tensorflow.google.cn/lite/microcontrollers/library

支持的平臺(tái)

嵌入式軟件開發(fā)的挑戰(zhàn)之一是存在許多不同的體系結(jié)構(gòu)、設(shè)備、操作系統(tǒng)和構(gòu)建系統(tǒng)。我們的目標(biāo)是盡可能多地支持流行的組合,并盡可能地讓給其他設(shè)備添加支持變得簡(jiǎn)單。

如果您是產(chǎn)品開發(fā)人員,您可以下載我們提供的以下平臺(tái)的構(gòu)建說(shuō)明或預(yù)生成的項(xiàng)目文件:

如果您的設(shè)備尚未被支持,添加支持也許并不困難。您可以在 README.md中了解該過(guò)程。

可移植參考代碼

如果您還沒有考慮具體的的微控制器平臺(tái),或者只想在開始移植之前試用代碼,最簡(jiǎn)單的方法是下載與平臺(tái)無(wú)關(guān)的參考代碼。

注:參考代碼 鏈接

https://drive.google.com/open?id=1cawEQAkqquK_SO4crReDYqf_v7yAwOY8

歸檔中有很多文件夾,每個(gè)文件夾只包含構(gòu)建一個(gè)二進(jìn)制文件所需的源文件。每個(gè)文件夾都有一個(gè)簡(jiǎn)單的 Makefile 文件,您應(yīng)該能夠?qū)⑽募虞d到幾乎任何 IDE 中并構(gòu)建它們。我們還提供了已經(jīng)設(shè)置好的 Visual Studio Code 項(xiàng)目文件,因此您可以輕松地在跨平臺(tái) IDE 中瀏覽代碼。

目標(biāo)

我們的設(shè)計(jì)目標(biāo)是使框架可讀、易于修改、經(jīng)過(guò)良好測(cè)試、易于集成,并通過(guò)一致的文件架構(gòu)、解釋器、API 和內(nèi)核接口與 TensorFlow Lite 完全兼容。

您可以閱讀更多在目標(biāo)和權(quán)衡方面有關(guān)設(shè)計(jì)的信息。

限制

TensorFlow Lite for Microcontrollers 專為微控制器開發(fā)中的特殊限制而設(shè)計(jì)。如果您正在使用更強(qiáng)大的設(shè)備(例如像 Raspberry Pi 這樣的嵌入式 Linux 設(shè)備),標(biāo)準(zhǔn)的 TensorFlow Lite 框架可能更容易集成。

應(yīng)考慮以下限制:

僅支持 TensorFlow 操作的有限子集

僅支持有限的一些設(shè)備

低級(jí) C++ API 需要手動(dòng)內(nèi)存管理

注:有限子集 鏈接

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

    關(guān)注

    48

    文章

    7552

    瀏覽量

    151417
  • tensorflow
    +關(guān)注

    關(guān)注

    13

    文章

    329

    瀏覽量

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

    關(guān)注

    0

    文章

    26

    瀏覽量

    622

原文標(biāo)題:TensorFlow Lite 微控制器

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    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 ?311次閱讀

    嵌入式系統(tǒng)中微控制器與微處理的區(qū)別

    嵌入式微控制器已成為我們?nèi)粘=佑|的眾多設(shè)備背后的無(wú)聲指揮者。從用于烹飪食物的微波爐到監(jiān)測(cè)健康的智能手表,微控制器確保這些設(shè)備能夠精準(zhǔn)、可靠地運(yùn)作。本文的目的是揭示嵌入式微控制器的世界,幫助讀者理解
    的頭像 發(fā)表于 10-14 11:02 ?443次閱讀
    嵌入式系統(tǒng)中<b class='flag-5'>微控制器</b>與微處理<b class='flag-5'>器</b>的區(qū)別

    ESP32 微控制器系列指南

    2024-05-29 Don Wilcher [微控制器] ESP32 微控制器已成為物聯(lián)網(wǎng) (IoT) 和嵌入式控制器領(lǐng)域的核心部分。 ESP32 生態(tài)系統(tǒng)的制造商 Espressif
    的頭像 發(fā)表于 10-02 18:21 ?2717次閱讀
    ESP32 <b class='flag-5'>微控制器</b>系列指南

    C2000?微控制器的USB閃存編程

    電子發(fā)燒友網(wǎng)站提供《C2000?微控制器的USB閃存編程.pdf》資料免費(fèi)下載
    發(fā)表于 09-26 11:30 ?0次下載
    C2000?<b class='flag-5'>微控制器</b>的USB閃存編程

    增加微控制器上的輸入數(shù)

    電子發(fā)燒友網(wǎng)站提供《增加微控制器上的輸入數(shù).pdf》資料免費(fèi)下載
    發(fā)表于 09-21 10:30 ?0次下載
    增加<b class='flag-5'>微控制器</b>上的輸入數(shù)

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

    微控制器
    芯廣場(chǎng)
    發(fā)布于 :2024年09月18日 15:02:33

    微控制器內(nèi)部的存儲(chǔ)有哪些

    微控制器(MCU)內(nèi)部的存儲(chǔ)微控制器系統(tǒng)的重要組成部分,它負(fù)責(zé)存儲(chǔ)程序代碼、數(shù)據(jù)以及控制邏輯等信息。這些存儲(chǔ)類型多樣,各具特點(diǎn),共同支
    的頭像 發(fā)表于 08-22 10:41 ?769次閱讀

    微控制器的結(jié)構(gòu)和應(yīng)用

    微控制器(Microcontroller Unit,簡(jiǎn)稱MCU)作為嵌入式系統(tǒng)的核心部件,其原理和應(yīng)用在現(xiàn)代科技發(fā)展中占據(jù)了舉足輕重的地位。本文將從微控制器的原理、基本結(jié)構(gòu)、工作原理、性能特點(diǎn)以及廣泛的應(yīng)用領(lǐng)域等方面進(jìn)行詳細(xì)闡述,旨在全面介紹
    的頭像 發(fā)表于 08-22 10:40 ?1022次閱讀

    微控制器與運(yùn)動(dòng)控制器的區(qū)別

    隨著現(xiàn)代工業(yè)技術(shù)的快速發(fā)展,控制技術(shù)在各種機(jī)械設(shè)備中扮演著越來(lái)越重要的角色。微控制器和運(yùn)動(dòng)控制器作為兩種常見的控制設(shè)備,在各自的領(lǐng)域發(fā)揮著重要作用。然而,兩者在功能、應(yīng)用、特點(diǎn)等方面存
    的頭像 發(fā)表于 06-13 14:52 ?633次閱讀

    微控制器是否能替代PLC

    在工業(yè)自動(dòng)化和控制系統(tǒng)領(lǐng)域,微控制器(MCU)和可編程邏輯控制器(PLC)都是不可或缺的核心設(shè)備。它們各自具有獨(dú)特的功能和優(yōu)勢(shì),并在不同的應(yīng)用場(chǎng)景中發(fā)揮著重要作用。然而,關(guān)于微控制器
    的頭像 發(fā)表于 06-13 14:52 ?671次閱讀

    微控制器的定義和工作原理

    微控制器,作為現(xiàn)代電子技術(shù)中的核心部件,其發(fā)展歷程與電子技術(shù)的進(jìn)步息息相關(guān)。自20世紀(jì)70年代中期誕生以來(lái),微控制器憑借其高度集成化、低成本、高性能等優(yōu)勢(shì),已廣泛應(yīng)用于電機(jī)控制、條碼閱讀
    的頭像 發(fā)表于 05-24 17:17 ?1661次閱讀

    新唐科技宣布推出基于微控制器的終端AI平臺(tái),加速AI應(yīng)用普及

    新唐科技宣布推出基于微控制器的終端AI平臺(tái),使AI生態(tài)系擴(kuò)展至微控制器領(lǐng)域。
    的頭像 發(fā)表于 04-23 09:58 ?725次閱讀

    針對(duì) C2000? 微控制器的集成微控制器 (MCU) 電源解決方案數(shù)據(jù)表

    電子發(fā)燒友網(wǎng)站提供《針對(duì) C2000? 微控制器的集成微控制器 (MCU) 電源解決方案數(shù)據(jù)表.pdf》資料免費(fèi)下載
    發(fā)表于 03-04 14:12 ?0次下載
    針對(duì) C2000? <b class='flag-5'>微控制器</b>的集成<b class='flag-5'>微控制器</b> (MCU) 電源解決方案數(shù)據(jù)表

    S1C17M02,S1C17M03微控制器

    微控制器
    Piezoman壓電俠
    發(fā)布于 :2024年01月24日 17:53:48

    繼電器光耦在微控制器中的應(yīng)用

    繼電器是電子系統(tǒng)中的重要組件,用作使用低功率信號(hào)控制高功率電路的開關(guān)。繼電器與微控制器的集成在各種應(yīng)用中變得越來(lái)越普遍。該領(lǐng)域的一個(gè)重大進(jìn)步是繼電器光耦合的使用,這是一種增強(qiáng)基于微控制器
    的頭像 發(fā)表于 01-05 16:09 ?460次閱讀
    繼電器光耦在<b class='flag-5'>微控制器</b>中的應(yīng)用