0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【赛昉科技昉·星光RISC-V单板计算机试用体验】运行边缘AI框架——TFLM

开发板试用精选 来源:开发板试用 作者:电子发烧友论坛 2022-11-14 14:32 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本文来源电子发烧友社区,作者:xusiwei1236, 帖子地址:https://bbs.elecfans.com/jishu_2289346_1_1.html

一、TFLM简介

TFLM是TensorFlow Lite for Microcontrollers项目的简称,全称翻译过来就是“适用于微控制器TensorFlow Lite”。它是一个来自谷歌的边缘AI框架,能够运行在单片机上。
来自官方的介绍:
TensorFlow Lite for Microcontrollers 是 TensorFlow Lite 的一个实验性移植版本,它适用于微控制器和其他一些仅有数千字节内存的设备。它可以直接在“裸机”上运行,不需要操作系统支持、任何标准 C/C++ 库和动态内存分配。核心运行时(core runtime)在 Cortex M3 上运行时仅需 16KB,加上足以用来运行语音关键字检测模型的操作,也只需 22KB 的空间。
TFLM项目首页:https://tensorflow.google.cn/lit ... s/overview?hl=zh-cn
TFLM代码仓链接:https://github.com/tensorflow/tflite-micro

二、准备工作2.1 烧录系统
开始本篇之前,需要先下载、烧录支持NVDLA驱动的系统镜像。
这里使用了社区**Houge_Langley**大佬制作的带有NVDLA驱动的Debian镜像,下载连接:
http://ubuntu-riscv.litterhougelangley.club/ubuntu-impish/img/
Debian系统镜像下载完成后,将Debian系统镜像烧录到SD卡上的操作和Fedora操作类似,这里不再赘述。
启动后,neofetch输出:
pYYBAGK3zMyAAQBAAABlHq01nEU752.png


2.2 下载依赖
在PC的Linux系统上,运行TFLM基准测试之前,需要先安装依赖的一些工具:
sudo apt install git unzip wget python3 python3-pip

2.3 设置pip源
将pip源设置为国内源,可以加速pip包安装,执行如下命令:
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环境的pillow库,对数据集的图片进行预处理。
执行如下命令,安装pillow库: pip install pillow
安装过程会编译pillow包中的C/C++源代码文件,速度较慢,耐心等待。
如果Pillow安装过程报错:The headers or library files could not be found for jpeg
需要先安装libjpeg库:apt-get install libjpeg-dev zlib1g-dev


三、在VisionFive上运行TFLM3.1 下载TFLM源码
下载tflite-micro源码使用如下命令:
git clone <https://github.com/tensorflow/tflite-micro.git>

3.2 TFLM基准测试说明
TFLM代码仓的顶层的README.md中给出了benchmarks链接:
https://github.com/tensorflow/tflite-micro/blob/main/tensorflow/lite/micro/benchmarks/README.md
该文档篇幅不长:
poYBAGK4ZAmAJeaZAACdbjT9aZU774.png

通过这个目录我们可以知道,TFLM实际上提供了两个基准测试(实际有三个),分别是:
  • 关键词基准测试
    • 关键词基准测试使用的是程序运行时生产的随机数据作为输入,所以它的输出是没有意义的
  • 人体检测基准测试
    • 人体检测基准测试使用了两张bmp图片作为输入
    • 具体位于tensorflowlitemicroexamplesperson_detectiontestdata子目录

3.3 TFLM基准测试命令
参考”Run on x86”,在x86 PC上运行关键词基准测试的命令是:
make -f tensorflow/lite/micro/tools/make/Makefile run_keyword_benchmark
在PC上运行人体检测基准测试的命令是:
make -f tensorflow/lite/micro/tools/make/Makefile run_person_detection_benchmark
执行这两个命令,会依次执行如下步骤:
  • 调用几个下载脚本,下载依赖库和数据集;
  • 编译测试程序;
  • 运行测试程序;
tensorflow/lite/micro/tools/make/Makefile代码片段中,可以看到调用了几个下载脚本:
pYYBAGK4ZB6AM6v-AADEv5gswUA578.png

flatbuffers_download.sh和kissfft_download.sh脚本第一次执行时,会将相应的压缩包下载到本地,并解压,具体细节参见代码内容;
pigweed_download.sh脚本会克隆一个代码仓,再检出一个特定版本:
pYYBAGK4ZCuABD3CAAEYCKnfU8k965.png

这里需要注意的是,代码仓https://pigweed.googlesource.com/pigweed/pigweed国内一般无法访问(因为域名googlesource.com被禁了)。将此连接修改为我克隆好的代码仓:https://github.com/xusiwei/pigweed.git可以解决因为国内无法访问googlesource.com而无法下载pigweed测试数据的问题。

3. 4 Keyword基准测试
关键词基准测试使用的模型较小,比较适合在STM32F3/F4这类主频低于100MHz的MCU
这个基准测试的模型比较小,计算量也不大,所以在PC上运行这个基准测试的耗时非常短:
poYBAGK4ZD2AYyq5AAGS36-5Bko417.png

可以看到,在PC上运行关键词唤醒的速度非常快,10次时间才2毫秒。
模型文件路径为:./tensorflow/lite/micro/models/keyword_scrambled.tflite
可以使用Netron软件查看模型结构:
poYBAGK4ZEyAdPNkAAB7aF50xgw363.png


3. 5 Person detection基准测试
人体检测基准测试的计算量相对要大一些,运行的时间也要长一些:
pYYBAGK4ZF6AYQQOAAGczPpTyzE269.png

pYYBAGK4ZGmAY4a5AAFpf5byb70838.png

可以看到,人像检测模型运行10次的时间是四千多毫秒,一次平均四十几毫秒。
模型文件路径为:./tensorflow/lite/micro/models/person_detect.tflite
同样,可以使用Netron查看模型结构,模型结构过于复杂,这里不再展示。

四、和树莓派3B+结果对比
我手头还有一块吃灰很久的树莓派3B+,拿出来做个对比。

4.1 在树莓派3B+上运行TFLM基准测试
在树莓派3B+上运行TFLM基准测试,所需的操作和VisionFive的完全一致。由于关键词识别的模型计算量太小了,这里直接跑一下人像检测的模型,最终结果为:
poYBAGK4ZJ-AQr60AADk7MTySFk534.png

可以看到,在树莓派3B+上的,对于有人脸的图片,连续运行10次人脸检测模型,总体耗时4186毫秒,每次平均耗时418.6毫秒;对于无人脸的图片,连续运行10次人脸检测模型,耗时4190毫秒,每次平均耗时419毫秒。

4.2 VisionFive和树莓派3B+上TFLM基准测试结果对比
结果汇总如下:
VisionFive V1 树莓派3B+
有人脸平均耗时(ms) 477.6 418.6
无人脸平均耗时(ms) 476.9 419
CPU最高主频(Hz) 1.0GHz 1.4G
从上表可以看到,在TFLM人像检测模型计算场景下,VisionFive和树莓派3B+单次计算耗时基本相当。树莓派3B+的CPU频率比VisionFive要高出40%,VisionFive能跑出这样的成绩说明U74 RISC-V CPU核和ARM Cortex A53的单核计算能力上差距不大(TFLM是单线程的)。但是,树莓派3B+有4个Cortex A53核心,而VisionFive V1只有两个U74 CPU核心,因此在多线程计算性能上必然存在较大差距。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • RISC-V
    +关注

    关注

    48

    文章

    2793

    浏览量

    51914
  • 赛昉科技
    +关注

    关注

    3

    文章

    179

    浏览量

    15318
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    2025 RISC-V产业发展大会 | 科技全景展示规模化商用成果

    2025年11月24日,RISC-V产业发展大会在珠海开幕。科技以“推动RISC-V规模化商用”为核心主题,重点展示了面向数据中心、边缘
    的头像 发表于 11-27 11:03 334次阅读
    2025 <b class='flag-5'>RISC-V</b>产业发展大会 | <b class='flag-5'>赛</b><b class='flag-5'>昉</b>科技全景展示规模化商用成果

    【作品合集】科技VisionFive 2单板计算机开发板测评

    科技VisionFive 2单板计算机开发板测评作品合集 产品介绍: ·星光 2是全球首款集成了3D GPU的高性能量产
    发表于 09-04 09:08

    科技入驻RuyiSDK开发者社区,双平台协同推进RISC-V生态

    科技(StarFive)正式入驻RuyiSDK开发者社区,携手推动RISC-V技术创新。后续,科技的技术突破与生态进展将同步在RVs
    的头像 发表于 07-30 10:35 841次阅读
    <b class='flag-5'>赛</b><b class='flag-5'>昉</b>科技入驻RuyiSDK开发者社区,双平台协同推进<b class='flag-5'>RISC-V</b>生态

    【VisionFive 2单板计算机试用体验】环境搭建与点灯实验

    一、概况 ·星光 2是全球首款集成了GPU的高性能RISC-V单板计算机。与·星光相比,
    发表于 07-20 22:55

    “核心技术突破+关键应用支撑”,加速RISC-V生态突围

    核心技术护城河1.首款适配RISC-V核的国产一致性NoCIP——StarNoC-700在高性能计算分论坛上,科技IP产品线总经理周杰宣布,公司自主研发的大规模一
    的头像 发表于 07-19 17:03 1160次阅读
    “核心技术突破+关键应用支撑”,<b class='flag-5'>赛</b><b class='flag-5'>昉</b>加速<b class='flag-5'>RISC-V</b>生态突围

    【VisionFive 2单板计算机试用体验】VisionFive 2一个霸气的游戏机

    单板计算机,搭载·惊鸿-7110(型号:JH-7110)RISC-V应用处理器,拥有极强的计算能力和图形处理能力。开源的·
    发表于 07-13 20:41

    【VisionFive 2单板计算机试用体验】RISC-V架构卡片计算机初体验

    2h........无奈) 参考文献: 全球首款集成3D GPU的高性能量产RISC-V 单板计算机·星光 2 开发实践![全球首款集成3D GPU的高性能量产
    发表于 07-06 23:28

    权威评测:Orange Pi RV2等5 款 RISC-V 单板计算机测试-性能、基准测试、功能和见解

    如果计算的未来不是被锁定在专有架构上,那会怎样?想象一下,在这个世界上,开发人员和业余爱好者都可以利用开源硬件的强大功能自由构建、创新和实验。进入RISC-V单板计算机(SBC)领域——一个新兴
    的头像 发表于 06-30 13:35 878次阅读
    权威评测:Orange Pi RV2等5 款 <b class='flag-5'>RISC-V</b> <b class='flag-5'>单板计算机</b>测试-性能、基准测试、功能和见解

    【VisionFive 2单板计算机试用体验】 + 开箱体验

    在x86与ARM架构主导的单板计算机市场,中国团队打造的VisionFive 2(防星光2)如同一颗新星,凭借开源开放的RISC-V架构和成熟的桌面体验,为开发者与极客提供了全新的选择。经过
    发表于 06-27 09:06

    共建生态,赋能应用 | 科技精彩亮相中国RISC-V生态大会

    2025中国RISC-V生态大会于近日在北京圆满落幕。大会以“共建生态,共享未来”为主题,汇聚了中外产学研界各方代表,共同探讨RISC-V的最新发展趋势和产业机遇。作为中国RISC-V软硬件生态
    的头像 发表于 03-04 11:03 1850次阅读
    共建生态,赋能应用 | <b class='flag-5'>赛</b><b class='flag-5'>昉</b>科技精彩亮相中国<b class='flag-5'>RISC-V</b>生态大会

    科技RISC-V家庭云解决方案:NAS存储性能升级,隐私安全双保障

    (VisionFive2)单板计算机,推出全新RISC-V家庭云(NAS)解决方案,为用户提供高性能、高安全性的私有云存储服务,满足家庭及轻量级企业场景需求。方案亮点01高性能硬件支持
    的头像 发表于 02-18 17:50 1303次阅读
    <b class='flag-5'>赛</b><b class='flag-5'>昉</b>科技<b class='flag-5'>RISC-V</b>家庭云解决方案:NAS存储性能升级,隐私安全双保障

    首届RISC-V产业发展大会成功举办,携手产业伙伴共绘RISC-V新蓝图

    12月28日,由中国电子工业标准化技术协会RISC-V工作委员会(以下简称“RISC-V工作委员会”)主办的首届“RISC-V产业发展大会”在北京成功举办。作为推动RISC-V生态发展
    的头像 发表于 12-30 14:14 966次阅读
    首届<b class='flag-5'>RISC-V</b>产业发展大会成功举办,<b class='flag-5'>赛</b><b class='flag-5'>昉</b>携手产业伙伴共绘<b class='flag-5'>RISC-V</b>新蓝图

    科技亮相ICCAD-Expo 2024,共探RISC-V技术最新发展

    与会观众共探RISC-V技术的最新发展和行业应用。RISC-V架构的开放性和灵活性使其成为中国芯片行业的重要机遇。科技资深销售总监周杰在“IP与IC设计服务”专
    的头像 发表于 12-16 10:22 1016次阅读
    <b class='flag-5'>赛</b><b class='flag-5'>昉</b>科技亮相ICCAD-Expo 2024,共探<b class='flag-5'>RISC-V</b>技术最新发展

    科技发布全新RISC-V处理器内核Dubhe-83

    RISC-V软硬件生态企业科技近日宣布,正式推出其全新RISC-V处理器内核——Dubhe-83(・天枢-83),该内核专为
    的头像 发表于 12-13 10:59 973次阅读

    科技发布全新RISC-V CPU IP,符合RVA23规范,赋能AI应用与高效计算

    2024年12月10日,中国RISC-V软硬件生态领导者科技正式推出全新RISC-V处理器内核——·天枢-83(Dubhe-83),赋
    的头像 发表于 12-11 01:03 1620次阅读
    <b class='flag-5'>赛</b><b class='flag-5'>昉</b>科技发布全新<b class='flag-5'>RISC-V</b> CPU IP,符合RVA23规范,赋能<b class='flag-5'>AI</b>应用与高效<b class='flag-5'>计算</b>