本实验过程中所显示的优惠价格及费用报销等相关信息仅在【Arm AI 开发体验创造营】体验活动过程中有效,逾期无效,请根据实时价格自行购买和体验。同时,感谢本次体验活动 Arm 导师 Liliya 对于本实验手册的共创与指导。
详见活动地址:https://marketing.csdn.net/p/a11ba7c4ee98e52253c8608a085424be
文章目录
- 项目背景
- 前期准备
- 实验步骤
- 1. 获取源码
- 2. TinyMaix 简介
- 3. 项目体验
- 实验效果
- 实验感悟
- 参考文档
项目背景
Arm 虚拟硬件(Arm Virtual Hardware)提供了一个 Ubuntu Linux 镜像,包括用于物联网、机器学习和嵌入式应用程序的 Arm 开发工具:例如,Arm 编译器、 FVP 模型和其他针对 Cortex-M 系列处理器的开发工具帮助开发者快速入门。Arm 虚拟硬件限时免费提供用于评估用途,例如,评估 CI/CD、MLOps 和 DevOps 工作流中的自动化测试工作流等。订阅访问和使用此版本的 Arm 虚拟硬件,您需同意产品最终用户许可协议中与免费测试版许可相关的条款和协议。
Arm 虚拟硬件产品的技术概览示意图如下所示。开发者也可访问 Arm 虚拟硬件产品介绍页和产品技术文档了解更多关于 Arm 虚拟硬件产品知识。
图1. Arm 虚拟硬件产品概览
前期准备
- 已经正确购买了 AVH 镜像服务器并保证服务器正在运行中:
- 可远程登陆服务器,如使用 SSH 方式:
- 预先安装 CMSIS Packs 软件包,直接将其解压到 /home/ubuntu 目录下即可:
- 下载地址:https://www.keil.arm.com/packs/
- 其他博主提供的快捷下载地址(建议):https://Arm-workshop.bj.bcebos.com/packs.tar.bz2
实验步骤
1. 获取源码
实验代码地址:https://github.com/alphazcc/AVH-TinyMaix
- 创建一个实验文件夹:
mkdir demo # 创建一个 demo 文件夹
cd demo/ # 切换到 demo 目录
- 通过使用 git 工具将仓库代码克隆到服务器中:
git clone https://github.moeyy.xyz/https://github.com/alphazcc/AVH-TinyMaix.git
- 查看仓库内容:
- 仓库结构简析:
AVH-TinyMaix
├── AVH_Demo # AVH demo project
├── CMake # CMake file
├── TinyMaix # TinyMaix
│ ├── examples # TinyMaix sample files
│ ├── include # TinyMaix header files
│ ├── src # TinyMaix source files
│ └── tools # TinyMaix tools files
├── User # User code files
├── Makefile # Makefile for project building
└── README.md # README file
2. TinyMaix 简介
TinyMaix 是面向单片机的超轻量级的神经网络推理库,即 TinyML 推理库,可以让你在任意单片机上运行轻量级深度学习模型。
3. 项目体验
- 配置环境变量
make source
- 执行命令构建应用,构建成功会生成
image.axf
文件:
make build
- 执行命令运行应用:
make run
- 可按下 Ctrl+C 提前中断仿真:
- 执行命令清除构建:
make clean
- 快速构建、运行应用:
make
实验效果
本实验基于 TinyMaix 神经网络推理库,成功运行了 MNIST 手写数字识别示例,示例中配置运行了 10 张 28×28 的虚拟图像,均得到了正确结果,每张运行时间在 7ms 左右(该时间统计来自 FreeRTOS 的时钟 Tick)。
实验感悟
通过此次实践我们成功的在 Arm 虚拟硬件平台上运行了 TinyMaix 轻量级神经网络推理框架,相比于物理硬件平台,Arm 虚拟硬件使开发更加便捷、高效,可模拟多种实验场景,不限于物联网、嵌入式应用、深度学习、软硬件协同设计等。
Arm 虚拟硬件平台可以在物理条件缺乏的情况下,让软件实例能够快速的得到验证,它不受物理限制,并且可以有效的避免开发过程中可能出现的风险。作为一个初学者,Arm 虚拟硬件是一个不错的学习平台,希望官方能够提供更加完善学习资料、建立生态体系。
参考文档
- Arm 虚拟硬件产品简介
- Arm 虚拟硬件帮助文档
- Arm 虚拟硬件开发者资源
- 【中文技术指南】Arm 虚拟硬件实践专题一:产品订阅指南(百度智能云版)
- 【中文技术指南】Arm 虚拟硬件实践专题二:Arm 虚拟硬件 FVP 模型入门指南
- 【中文视频直播课】加速AI开发,1小时快速入门Arm虚拟硬件
- Arm 社区微信公众号