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

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

3天內不再提示

TensorFlow Lite 微控制器

Tensorflowers ? 來源:YXQ ? 2019-08-05 10:11 ? 次閱讀

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

它可以直接在“裸機”上運行,不需要操作系統(tǒng)支持、任何標準 C/C++ 庫和動態(tài)內存分配。核心運行時 (core runtime) 在 Cortex M3 上運行時僅需 16KB,加上足以用來運行語音關鍵字檢測模型的操作,也只需 22KB 的空間。

開始

要快速入門并運行 TensorFlow Lite for Microcontrollers,請閱讀微控制器入門。

注:微控制器入門 鏈接

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

為什么微控制器很重要

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

微控制器通常針對低能耗和小尺寸進行優(yōu)化,但代價是降低了處理能力、內存和存儲。一些微控制器具有用來優(yōu)化機器學習任務性能的功能。

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

功能和組件

C++ API,其運行時 (runtime) 在 Cortex M3 上僅需 16KB

使用標準的 TensorFlow Lite FlatBuffer架構 (schema)

Arduino、Keil 和 Mbed 等較為流行的嵌入式開發(fā)平臺預生成的項目文件

針對多個嵌入式平臺優(yōu)化

演示口語熱詞檢測的示例代碼

開發(fā)工作流程

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

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

將模型轉換為 TensorFlow Lite FlatBuffer您將使用 TensorFlow Lite 轉換器來將模型轉換為標準 TensorFlow Lite 格式。您可能希望輸出量化模型,因為它們的尺寸更小、執(zhí)行效率更高。

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

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

部署到您的設備構建程序并將其部署到您的設備。

注:構建和轉換模型 鏈接

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

理解 C++ 庫 鏈接

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

支持的平臺

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

如果您是產(chǎn)品開發(fā)人員,您可以下載我們提供的以下平臺的構建說明或預生成的項目文件:

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

可移植參考代碼

如果您還沒有考慮具體的的微控制器平臺,或者只想在開始移植之前試用代碼,最簡單的方法是下載與平臺無關的參考代碼。

注:參考代碼 鏈接

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

歸檔中有很多文件夾,每個文件夾只包含構建一個二進制文件所需的源文件。每個文件夾都有一個簡單的 Makefile 文件,您應該能夠將文件加載到幾乎任何 IDE 中并構建它們。我們還提供了已經(jīng)設置好的 Visual Studio Code 項目文件,因此您可以輕松地在跨平臺 IDE 中瀏覽代碼。

目標

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

您可以閱讀更多在目標和權衡方面有關設計的信息

限制

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

應考慮以下限制:

僅支持 TensorFlow 操作的有限子集

僅支持有限的一些設備

低級 C++ API 需要手動內存管理

注:有限子集 鏈接

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

    關注

    48

    文章

    7334

    瀏覽量

    150082
  • tensorflow
    +關注

    關注

    13

    文章

    327

    瀏覽量

    60413
  • TensorFlow Lite
    +關注

    關注

    0

    文章

    26

    瀏覽量

    576

原文標題:TensorFlow Lite 微控制器

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

收藏 人收藏

    評論

    相關推薦

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

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

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

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

    微控制器的結構和應用

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

    微控制器與運動控制器的區(qū)別

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

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

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

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

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

    微控制器基礎】——從歷史切入,了解微控制器的五個要素(上)

    微控制器基礎】——從歷史切入,了解微控制器的五個要素(上)
    的頭像 發(fā)表于 12-07 10:55 ?418次閱讀
    【<b class='flag-5'>微控制器</b>基礎】——從歷史切入,了解<b class='flag-5'>微控制器</b>的五個要素(上)

    微控制器基礎】—— 從歷史切入,了解微控制器的五個要素(下)

    微控制器基礎】—— 從歷史切入,了解微控制器的五個要素(下)
    的頭像 發(fā)表于 12-06 17:23 ?437次閱讀
    【<b class='flag-5'>微控制器</b>基礎】—— 從歷史切入,了解<b class='flag-5'>微控制器</b>的五個要素(下)

    微控制器基礎】——電路中的“數(shù)字與邏輯”(上)

    微控制器基礎】——電路中的“數(shù)字與邏輯”(上)
    的頭像 發(fā)表于 10-26 16:34 ?413次閱讀
    【<b class='flag-5'>微控制器</b>基礎】——電路中的“數(shù)字與邏輯”(上)

    MCU微控制器是什么?微控制器和微處理之間的區(qū)別

    微控制器(通常簡稱為MCU或MC)是指完全獨立于單個芯片的非常小的微型計算機。歐時電子指南將詳細探討什么是微控制器以及它與微處理等相關產(chǎn)品之間的根本區(qū)別,還將介紹一些最常見的市售微控制器
    的頭像 發(fā)表于 10-26 15:01 ?1359次閱讀

    如何降低微控制器系統(tǒng)中的噪聲影響(2)

    如何降低微控制器系統(tǒng)中的噪聲影響(2)
    的頭像 發(fā)表于 10-25 17:41 ?420次閱讀
    如何降低<b class='flag-5'>微控制器</b>系統(tǒng)中的噪聲影響(2)

    智芯微控制器在汽車自吸門上的應用

    智芯微控制器在汽車自吸門上的應用
    的頭像 發(fā)表于 10-19 18:22 ?498次閱讀
    智芯<b class='flag-5'>微控制器</b>在汽車自吸門上的應用

    微控制器基礎】——CPU內核與整體配置(上)

    微控制器基礎】——CPU內核與整體配置(上)
    的頭像 發(fā)表于 10-17 17:19 ?824次閱讀
    【<b class='flag-5'>微控制器</b>基礎】——CPU內核與整體配置(上)

    汽車微控制器介紹

    在汽車電子的各種系統(tǒng)中,往往需要使用汽車MCU(汽車微控制器)作為運算和控制的核心,而汽車對電子系統(tǒng)的依賴刺激了汽車微控制器市場的快速增長。汽車電子系統(tǒng)的應用越來越復雜,汽車MCU發(fā)揮著越來越重要的作用。
    的頭像 發(fā)表于 10-17 11:48 ?1123次閱讀
    汽車<b class='flag-5'>微控制器</b>介紹

    如何選擇微控制器

    干貨 | 如何選擇微控制器
    的頭像 發(fā)表于 09-21 17:23 ?527次閱讀