本文來源電子發(fā)燒友社區(qū),作者:xusiwei1236, 帖子地址:https://bbs.elecfans.com/jishu_2289346_1_1.html
一、TFLM簡介
TFLM是TensorFlow Lite for Microcontrollers項(xiàng)目的簡稱,全稱翻譯過來就是“適用于微控制器的TensorFlow Lite”。它是一個來自谷歌的邊緣AI框架,能夠運(yùn)行在單片機(jī)上。
來自官方的介紹:
TFLM代碼倉鏈接:https://github.com/tensorflow/tflite-micro
二、準(zhǔn)備工作2.1 燒錄系統(tǒng)
開始本篇之前,需要先下載、燒錄支持NVDLA驅(qū)動的系統(tǒng)鏡像。
這里使用了社區(qū)**Houge_Langley**大佬制作的帶有NVDLA驅(qū)動的Debian鏡像,下載連接:
http://ubuntu-riscv.litterhougelangley.club/ubuntu-impish/img/
Debian系統(tǒng)鏡像下載完成后,將Debian系統(tǒng)鏡像燒錄到SD卡上的操作和Fedora操作類似,這里不再贅述。
啟動后,neofetch輸出:
2.2 下載依賴
在PC的Linux系統(tǒng)上,運(yùn)行TFLM基準(zhǔn)測試之前,需要先安裝依賴的一些工具:
sudo apt install git unzip wget python3 python3-pip
2.3 設(shè)置pip源
將pip源設(shè)置為國內(nèi)源,可以加速pip包安裝,執(zhí)行如下命令:
pip config set global.index-urlhttp://mirrors.aliyun.com/pypi/simple/
pip config set global.trusted-host mirrors.aliyun.com
pip config set global.timeout 120
2.4 安裝Pillow庫
tflite-micro的benchmark編譯過程中會依賴python環(huán)境的pillow庫,對數(shù)據(jù)集的圖片進(jìn)行預(yù)處理。
執(zhí)行如下命令,安裝pillow庫: pip install pillow
安裝過程會編譯pillow包中的C/C++源代碼文件,速度較慢,耐心等待。
如果Pillow安裝過程報(bào)錯:The headers or library files could not be found for jpeg
需要先安裝libjpeg庫:apt-get install libjpeg-dev zlib1g-dev
三、在VisionFive上運(yùn)行TFLM3.1 下載TFLM源碼
下載tflite-micro源碼使用如下命令:
git clone <https://github.com/tensorflow/tflite-micro.git>
3.2 TFLM基準(zhǔn)測試說明
TFLM代碼倉的頂層的README.md中給出了benchmarks鏈接:
https://github.com/tensorflow/tflite-micro/blob/main/tensorflow/lite/micro/benchmarks/README.md
該文檔篇幅不長:
通過這個目錄我們可以知道,TFLM實(shí)際上提供了兩個基準(zhǔn)測試(實(shí)際有三個),分別是:
3.3 TFLM基準(zhǔn)測試命令
參考”Run on x86”,在x86 PC上運(yùn)行關(guān)鍵詞基準(zhǔn)測試的命令是:
make -f tensorflow/lite/micro/tools/make/Makefile run_keyword_benchmark
在PC上運(yùn)行人體檢測基準(zhǔn)測試的命令是:
make -f tensorflow/lite/micro/tools/make/Makefile run_person_detection_benchmark
執(zhí)行這兩個命令,會依次執(zhí)行如下步驟:
flatbuffers_download.sh和kissfft_download.sh腳本第一次執(zhí)行時,會將相應(yīng)的壓縮包下載到本地,并解壓,具體細(xì)節(jié)參見代碼內(nèi)容;
pigweed_download.sh腳本會克隆一個代碼倉,再檢出一個特定版本:
這里需要注意的是,代碼倉https://pigweed.googlesource.com/pigweed/pigweed國內(nèi)一般無法訪問(因?yàn)橛蛎鹓ooglesource.com被禁了)。將此連接修改為我克隆好的代碼倉:https://github.com/xusiwei/pigweed.git可以解決因?yàn)閲鴥?nèi)無法訪問googlesource.com而無法下載pigweed測試數(shù)據(jù)的問題。
3. 4 Keyword基準(zhǔn)測試
關(guān)鍵詞基準(zhǔn)測試使用的模型較小,比較適合在STM32F3/F4這類主頻低于100MHz的MCU。
這個基準(zhǔn)測試的模型比較小,計(jì)算量也不大,所以在PC上運(yùn)行這個基準(zhǔn)測試的耗時非常短:
可以看到,在PC上運(yùn)行關(guān)鍵詞喚醒的速度非常快,10次時間才2毫秒。
模型文件路徑為:./tensorflow/lite/micro/models/keyword_scrambled.tflite
可以使用Netron軟件查看模型結(jié)構(gòu):
3. 5 Person detection基準(zhǔn)測試
人體檢測基準(zhǔn)測試的計(jì)算量相對要大一些,運(yùn)行的時間也要長一些:
可以看到,人像檢測模型運(yùn)行10次的時間是四千多毫秒,一次平均四十幾毫秒。
模型文件路徑為:./tensorflow/lite/micro/models/person_detect.tflite
同樣,可以使用Netron查看模型結(jié)構(gòu),模型結(jié)構(gòu)過于復(fù)雜,這里不再展示。
四、和樹莓派3B+結(jié)果對比
我手頭還有一塊吃灰很久的樹莓派3B+,拿出來做個對比。
4.1 在樹莓派3B+上運(yùn)行TFLM基準(zhǔn)測試
在樹莓派3B+上運(yùn)行TFLM基準(zhǔn)測試,所需的操作和VisionFive的完全一致。由于關(guān)鍵詞識別的模型計(jì)算量太小了,這里直接跑一下人像檢測的模型,最終結(jié)果為:
可以看到,在樹莓派3B+上的,對于有人臉的圖片,連續(xù)運(yùn)行10次人臉檢測模型,總體耗時4186毫秒,每次平均耗時418.6毫秒;對于無人臉的圖片,連續(xù)運(yùn)行10次人臉檢測模型,耗時4190毫秒,每次平均耗時419毫秒。
4.2 VisionFive和樹莓派3B+上TFLM基準(zhǔn)測試結(jié)果對比
結(jié)果匯總?cè)缦拢?br />
從上表可以看到,在TFLM人像檢測模型計(jì)算場景下,VisionFive和樹莓派3B+單次計(jì)算耗時基本相當(dāng)。樹莓派3B+的CPU頻率比VisionFive要高出40%,VisionFive能跑出這樣的成績說明U74 RISC-V CPU核和ARM Cortex A53的單核計(jì)算能力上差距不大(TFLM是單線程的)。但是,樹莓派3B+有4個Cortex A53核心,而VisionFive V1只有兩個U74 CPU核心,因此在多線程計(jì)算性能上必然存在較大差距。
一、TFLM簡介
TFLM是TensorFlow Lite for Microcontrollers項(xiàng)目的簡稱,全稱翻譯過來就是“適用于微控制器的TensorFlow Lite”。它是一個來自谷歌的邊緣AI框架,能夠運(yùn)行在單片機(jī)上。
來自官方的介紹:
TensorFlow Lite for Microcontrollers 是 TensorFlow Lite 的一個實(shí)驗(yàn)性移植版本,它適用于微控制器和其他一些僅有數(shù)千字節(jié)內(nèi)存的設(shè)備。它可以直接在“裸機(jī)”上運(yùn)行,不需要操作系統(tǒng)支持、任何標(biāo)準(zhǔn) C/C++ 庫和動態(tài)內(nèi)存分配。核心運(yùn)行時(core runtime)在 Cortex M3 上運(yùn)行時僅需 16KB,加上足以用來運(yùn)行語音關(guān)鍵字檢測模型的操作,也只需 22KB 的空間。TFLM項(xiàng)目首頁:https://tensorflow.google.cn/lit ... s/overview?hl=zh-cn
TFLM代碼倉鏈接:https://github.com/tensorflow/tflite-micro
二、準(zhǔn)備工作2.1 燒錄系統(tǒng)
開始本篇之前,需要先下載、燒錄支持NVDLA驅(qū)動的系統(tǒng)鏡像。
這里使用了社區(qū)**Houge_Langley**大佬制作的帶有NVDLA驅(qū)動的Debian鏡像,下載連接:
http://ubuntu-riscv.litterhougelangley.club/ubuntu-impish/img/
Debian系統(tǒng)鏡像下載完成后,將Debian系統(tǒng)鏡像燒錄到SD卡上的操作和Fedora操作類似,這里不再贅述。
啟動后,neofetch輸出:

2.2 下載依賴
在PC的Linux系統(tǒng)上,運(yùn)行TFLM基準(zhǔn)測試之前,需要先安裝依賴的一些工具:
sudo apt install git unzip wget python3 python3-pip
2.3 設(shè)置pip源
將pip源設(shè)置為國內(nèi)源,可以加速pip包安裝,執(zhí)行如下命令:
pip config set global.index-urlhttp://mirrors.aliyun.com/pypi/simple/
pip config set global.trusted-host mirrors.aliyun.com
pip config set global.timeout 120
2.4 安裝Pillow庫
tflite-micro的benchmark編譯過程中會依賴python環(huán)境的pillow庫,對數(shù)據(jù)集的圖片進(jìn)行預(yù)處理。
執(zhí)行如下命令,安裝pillow庫: pip install pillow
安裝過程會編譯pillow包中的C/C++源代碼文件,速度較慢,耐心等待。
如果Pillow安裝過程報(bào)錯:The headers or library files could not be found for jpeg
需要先安裝libjpeg庫:apt-get install libjpeg-dev zlib1g-dev
三、在VisionFive上運(yùn)行TFLM3.1 下載TFLM源碼
下載tflite-micro源碼使用如下命令:
git clone <https://github.com/tensorflow/tflite-micro.git>
3.2 TFLM基準(zhǔn)測試說明
TFLM代碼倉的頂層的README.md中給出了benchmarks鏈接:
https://github.com/tensorflow/tflite-micro/blob/main/tensorflow/lite/micro/benchmarks/README.md
該文檔篇幅不長:

通過這個目錄我們可以知道,TFLM實(shí)際上提供了兩個基準(zhǔn)測試(實(shí)際有三個),分別是:
-
關(guān)鍵詞基準(zhǔn)測試
- 關(guān)鍵詞基準(zhǔn)測試使用的是程序運(yùn)行時生產(chǎn)的隨機(jī)數(shù)據(jù)作為輸入,所以它的輸出是沒有意義的
-
人體檢測基準(zhǔn)測試
- 人體檢測基準(zhǔn)測試使用了兩張bmp圖片作為輸入
- 具體位于tensorflowlitemicroexamplesperson_detectiontestdata子目錄
3.3 TFLM基準(zhǔn)測試命令
參考”Run on x86”,在x86 PC上運(yùn)行關(guān)鍵詞基準(zhǔn)測試的命令是:
make -f tensorflow/lite/micro/tools/make/Makefile run_keyword_benchmark
在PC上運(yùn)行人體檢測基準(zhǔn)測試的命令是:
make -f tensorflow/lite/micro/tools/make/Makefile run_person_detection_benchmark
執(zhí)行這兩個命令,會依次執(zhí)行如下步驟:
- 調(diào)用幾個下載腳本,下載依賴庫和數(shù)據(jù)集;
- 編譯測試程序;
- 運(yùn)行測試程序;

flatbuffers_download.sh和kissfft_download.sh腳本第一次執(zhí)行時,會將相應(yīng)的壓縮包下載到本地,并解壓,具體細(xì)節(jié)參見代碼內(nèi)容;
pigweed_download.sh腳本會克隆一個代碼倉,再檢出一個特定版本:

這里需要注意的是,代碼倉https://pigweed.googlesource.com/pigweed/pigweed國內(nèi)一般無法訪問(因?yàn)橛蛎鹓ooglesource.com被禁了)。將此連接修改為我克隆好的代碼倉:https://github.com/xusiwei/pigweed.git可以解決因?yàn)閲鴥?nèi)無法訪問googlesource.com而無法下載pigweed測試數(shù)據(jù)的問題。
3. 4 Keyword基準(zhǔn)測試
關(guān)鍵詞基準(zhǔn)測試使用的模型較小,比較適合在STM32F3/F4這類主頻低于100MHz的MCU。
這個基準(zhǔn)測試的模型比較小,計(jì)算量也不大,所以在PC上運(yùn)行這個基準(zhǔn)測試的耗時非常短:

可以看到,在PC上運(yùn)行關(guān)鍵詞喚醒的速度非常快,10次時間才2毫秒。
模型文件路徑為:./tensorflow/lite/micro/models/keyword_scrambled.tflite
可以使用Netron軟件查看模型結(jié)構(gòu):

3. 5 Person detection基準(zhǔn)測試
人體檢測基準(zhǔn)測試的計(jì)算量相對要大一些,運(yùn)行的時間也要長一些:


可以看到,人像檢測模型運(yùn)行10次的時間是四千多毫秒,一次平均四十幾毫秒。
模型文件路徑為:./tensorflow/lite/micro/models/person_detect.tflite
同樣,可以使用Netron查看模型結(jié)構(gòu),模型結(jié)構(gòu)過于復(fù)雜,這里不再展示。
四、和樹莓派3B+結(jié)果對比
我手頭還有一塊吃灰很久的樹莓派3B+,拿出來做個對比。
4.1 在樹莓派3B+上運(yùn)行TFLM基準(zhǔn)測試
在樹莓派3B+上運(yùn)行TFLM基準(zhǔn)測試,所需的操作和VisionFive的完全一致。由于關(guān)鍵詞識別的模型計(jì)算量太小了,這里直接跑一下人像檢測的模型,最終結(jié)果為:

可以看到,在樹莓派3B+上的,對于有人臉的圖片,連續(xù)運(yùn)行10次人臉檢測模型,總體耗時4186毫秒,每次平均耗時418.6毫秒;對于無人臉的圖片,連續(xù)運(yùn)行10次人臉檢測模型,耗時4190毫秒,每次平均耗時419毫秒。
4.2 VisionFive和樹莓派3B+上TFLM基準(zhǔn)測試結(jié)果對比
結(jié)果匯總?cè)缦拢?br />
| VisionFive V1 | 樹莓派3B+ | |
| 有人臉平均耗時(ms) | 477.6 | 418.6 |
| 無人臉平均耗時(ms) | 476.9 | 419 |
| CPU最高主頻(Hz) | 1.0GHz | 1.4G |
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報(bào)投訴
-
RISC-V
+關(guān)注
關(guān)注
48文章
2886瀏覽量
53034 -
賽昉科技
+關(guān)注
關(guān)注
3文章
181瀏覽量
15552
發(fā)布評論請先 登錄
相關(guān)推薦
熱點(diǎn)推薦
賽昉科技2025:引領(lǐng)RISC-V駛?cè)霐?shù)據(jù)中心深水區(qū)
2025年,是RISC-V從技術(shù)走向場景的關(guān)鍵一年。賽昉科技始終相信:唯有落地,才能創(chuàng)造真實(shí)價值。我們以規(guī)模化商用為錨點(diǎn),推動RISC-V深入數(shù)據(jù)中心核心、走進(jìn)千行百業(yè)。在此,向您呈上
RISC-V實(shí)現(xiàn)數(shù)據(jù)中心應(yīng)用突破,賽昉科技BMC芯片重磅亮相
電子發(fā)燒友原創(chuàng) 章鷹 近期,在珠海舉辦的RISC-V產(chǎn)業(yè)大會上,賽昉科技展示了面向數(shù)據(jù)中心、邊緣計(jì)算及智能終端的全棧產(chǎn)品與成熟應(yīng)用,其中一款
2025 RISC-V產(chǎn)業(yè)發(fā)展大會 | 賽昉科技全景展示規(guī)模化商用成果
2025年11月24日,RISC-V產(chǎn)業(yè)發(fā)展大會在珠海開幕。賽昉科技以“推動RISC-V規(guī)模化商用”為核心主題,重點(diǎn)展示了面向數(shù)據(jù)中心、邊緣
【作品合集】賽昉科技VisionFive 2單板計(jì)算機(jī)開發(fā)板測評
賽昉科技VisionFive 2單板計(jì)算機(jī)開發(fā)板測評作品合集
產(chǎn)品介紹:
昉·星光 2是全球首款集成了3D GPU的高性能量產(chǎn)
發(fā)表于 09-04 09:08
5?款?RISC-V?單板計(jì)算機(jī)測試:性能、基準(zhǔn)測試、特性及見解
倘若計(jì)算的未來并非被專有架構(gòu)所壟斷,那會怎樣?想象一下這樣一個世界:開發(fā)者和業(yè)余愛好者都能利用開源硬件的力量自由地構(gòu)建、創(chuàng)新和實(shí)驗(yàn)。現(xiàn)在,讓我們走進(jìn)RISC-V單板計(jì)算機(jī)(SBC)的世界——一個正在
賽昉科技入駐RuyiSDK開發(fā)者社區(qū),雙平臺協(xié)同推進(jìn)RISC-V生態(tài)
賽昉科技(StarFive)正式入駐RuyiSDK開發(fā)者社區(qū),攜手推動RISC-V技術(shù)創(chuàng)新。后續(xù),賽昉科技的技術(shù)突破與生態(tài)進(jìn)展將同步在RVs
賽昉科技徐滔:以精準(zhǔn)場景牽引,RISC-V搶灘數(shù)據(jù)中心百萬顆市場
7月16-19日,第五屆RISC-V中國峰會在上海張江科學(xué)會堂成功舉辦。國內(nèi)領(lǐng)先的RISC-V廠商賽昉科技攜多款重磅產(chǎn)品亮相,集中展示自研創(chuàng)新技術(shù)和成果。峰會期間,
賽昉科技聯(lián)合合見工軟實(shí)現(xiàn)國產(chǎn)一致性NoC IP與RISC-V核在大規(guī)模網(wǎng)絡(luò)中的適配
2025年7月24日——中國RISC-V軟硬件生態(tài)領(lǐng)導(dǎo)者賽昉科技與中國數(shù)字EDA/IP龍頭企業(yè)上海合見工業(yè)軟件集團(tuán)有限公司(簡稱“合見工軟”)共同宣布雙方的突破性技術(shù)合作成果。賽
【VisionFive 2單板計(jì)算機(jī)試用體驗(yàn)】環(huán)境搭建與點(diǎn)燈實(shí)驗(yàn)
一、概況
昉·星光 2是全球首款集成了GPU的高性能RISC-V單板計(jì)算機(jī)。與昉·星光相比,
發(fā)表于 07-20 22:55
“核心技術(shù)突破+關(guān)鍵應(yīng)用支撐”,賽昉加速RISC-V生態(tài)突圍
核心技術(shù)護(hù)城河1.首款適配RISC-V核的國產(chǎn)一致性NoCIP——StarNoC-700在高性能計(jì)算分論壇上,賽昉科技IP產(chǎn)品線總經(jīng)理周杰宣布,公司自主研發(fā)的大規(guī)模一
【VisionFive 2單板計(jì)算機(jī)試用體驗(yàn)】VisionFive 2一個霸氣的游戲機(jī)
單板計(jì)算機(jī),搭載昉·驚鴻-7110(型號:JH-7110)RISC-V應(yīng)用處理器,擁有極強(qiáng)的計(jì)算能力和圖形處理能力。開源的昉·
發(fā)表于 07-13 20:41
【VisionFive 2單板計(jì)算機(jī)試用體驗(yàn)】RISC-V架構(gòu)卡片計(jì)算機(jī)初體驗(yàn)
2h........無奈)
參考文獻(xiàn):
全球首款集成3D GPU的高性能量產(chǎn)RISC-V 單板計(jì)算機(jī),昉·星光 2 開發(fā)實(shí)踐![全球首款集成3D GPU的高性能量產(chǎn)
發(fā)表于 07-06 23:28
權(quán)威評測:Orange Pi RV2等5?款?RISC-V?單板計(jì)算機(jī)測試-性能、基準(zhǔn)測試、功能和見解
如果計(jì)算的未來不是被鎖定在專有架構(gòu)上,那會怎樣?想象一下,在這個世界上,開發(fā)人員和業(yè)余愛好者都可以利用開源硬件的強(qiáng)大功能自由構(gòu)建、創(chuàng)新和實(shí)驗(yàn)。進(jìn)入RISC-V單板計(jì)算機(jī)(SBC)領(lǐng)域——一個新興
【VisionFive 2單板計(jì)算機(jī)試用體驗(yàn)】 + 開箱體驗(yàn)
在x86與ARM架構(gòu)主導(dǎo)的單板計(jì)算機(jī)市場,中國團(tuán)隊(duì)打造的VisionFive 2(防星光2)如同一顆新星,憑借開源開放的RISC-V架構(gòu)和成熟的桌面體驗(yàn),為開發(fā)者與極客提供了全新的選擇。經(jīng)過
發(fā)表于 06-27 09:06
賽昉科技JH-7110 RISC-V工業(yè)網(wǎng)關(guān):多場景賦能工業(yè)智能化升級
靈活部署與自主可控的升級要求。賽昉科技JH-7110RISC-V工業(yè)網(wǎng)關(guān)(點(diǎn)擊跳轉(zhuǎn)“賽昉商城”)基于開源
【賽昉科技昉·星光RISC-V單板計(jì)算機(jī)試用體驗(yàn)】運(yùn)行邊緣AI框架——TFLM
評論