开发机器学习 (ML) 应用颇具挑战,尤其是涉及专用硬件时。好消息是,Arm Corstone-320 固定虚拟平台 (Fixed Virtual Platform, FVP) 简化了这个过程,无需物理硬件即可开发和测试 ML 应用。
Corstone-320 FVP 仿真平台为开发先进的 ML 应用提供了强大基础。访问以下链接,了解如何开始使用 Corstone-320 FVP,并利用该网站上提供的 Arm ML 嵌入式评估套件 (MLEK)。
什么是固定虚拟平台?
固定虚拟平台 (FVP)是成熟的硬件仿真模型,无需物理硬件即可进行软件开发和测试。FVP 在开发初期尤其有价值,开发者无需等到硬件到位,可大幅提前启动软件开发工作。
FVP 能够准确呈现最终的硬件,确保在 FVP 上开发和测试的软件在部署到物理设备上后,能够按预期运行。由此大大加快了开发周期,降低了成本,并减轻了因依赖硬件而产生的风险。
Arm Corstone-320 介绍
ArmCorstone-320 是一个预先集成的系统 IP,其中结合了 Arm Ethos-U85 NPU 和 Arm Cortex-M85 处理器。Ethos-U85 NPU 是一款专用 ML 处理器,旨在加速嵌入式和物联网设备中的 ML 计算,是高效处理 ML 工作负载的理想选择。
开发者需要平台软件来充分发挥硬件的潜能。Arm 提供了大量可与 Corstone-320 配合使用的软件组件和工具,其中包括:
以 CMSIS Core 和 CMSIS-Driver 库的形式提供的基本设备驱动程序和硬件抽象层。
与 FreeRTOS 和 Zephyr 等热门实时操作系统 (RTOS) 的集成。
诸如 Mbed TLS 和 Trusted Firmware-M 之类的安全软件,提供强大的加密、安全存储和安全的固件更新。
面向专业开发者的工具,包括 Keil MDK。
用于在 Ethos-U85 NPU 上运行终端人工智能 (AI) 应用的驱动程序和库。
Arm 的免费开源软件让开发者可以在 Corstone-320 上构建和运行终端 AI 应用。
Arm ML 嵌入式评估套件概览及用例
开源项目 Arm ML 嵌入式评估套件提供了一套即用型 ML 应用,使用户能够开发和评估在 Ethos-U NPU 和 Cortex-M CPU 上运行的 ML 工作负载。该套件包括用于测量性能指标(推理周期数等)的用例和工具。
MLEK 提供端到端软件用例,展示了 Ethos-U NPU 和 Cortex-M CPU 的功能。以下列出了其中包含的 ML 应用:
图像分类:使用 Mobilenet V2 神经网络模型识别每个图像中存在的物体。
关键词检测 (KWS):使用 MicroNet 模型识别语音中的关键词。
自动语音识别 (ASR):使用 Wav2Letter 模型从语音中转录单词。
KWS 和 ASR:使用 MicroNet 和 Wav2Letter 模型,在检测到关键词后,利用 Cortex-M 和 Ethos-U 进行转录。
异常检测:使用 MicroNet 模型检测机器录音中的异常行为。
视觉唤醒词:使用 MicroNet 模型识别图像中是否有人。
降噪:使用 RNNoise 模型在保留语音的同时,去除音频中的噪声。
物体检测:使用 Yolo Fastest 模型检测图像中的人脸并在周围绘制边界框。
通用推理运行器:使用你自己的模型为 Ethos-U NPU 开发自定义用例。
开始使用 Corstone-320 FVP
第一步
安装 FVP
首先,安装面向 Arm Corstone-320 的 FVP。按照 Arm ML 嵌入式评估套件项目安装指南设置虚拟环境。
第二步
设置环境
接着,设置你的开发环境。克隆 Arm ML 嵌入式评估套件存储库并按照提供的设置说明进行操作。确保已安装所有必要的依赖项。另请参阅 Arm ML 嵌入式评估套件的完整文档。
第三步
探索示例应用
Arm ML 嵌入式评估套件项目提供了一系列 ML 应用示例。首先,通过探索这些示例来了解 Ethos-U NPU 和 Cortex-M CPU 的使用方法。运行提供的示例,以查看推理周期数和性能指标。
第四步
在 FVP 上部署和运行
选择或开发 ML 应用后,在 Corstone-320 FVP上进行部署和运行。首先,编译你的应用代码并确保其与 FVP 环境兼容。将编译后的二进制文件移动到虚拟环境并参考提供的指南。确保根据你的配置遵循相应的部署说明。
部署后,在 FVP 上开始运行应用。监控输出日志并使用调试工具来跟踪模型的性能和功能。利用收集到的性能指标进一步微调和优化你的 ML 应用。
修改现有的 Arm ML 嵌入式评估套件模型或集成你自己的自定义模型,以查看它们在 Corstone-320 FVP 上的表现。通过尝试不同的场景来优化性能。
增强开发工作流
为了进一步增进你的开发能力,请探索旨在简化工作流的 Arm 项目和工具。
使用 Arm Keil MDK v6 工具
Keil MDK v6 是 Arm 提供的全面软件开发解决方案,适用于基于 Cortex-M 的微控制器和基于 Ethos 的 NPU。它提供了无缝创建、构建和调试应用所需的一切基本组件。
Keil MDK v6 利用 CMSIS-Pack 提供设备和电路板支持,并提供项目所需的软件组件。新的 Keil Studio IDE 由一组 VS Code 扩展组成,全面支持 CMSIS 工作流并提供集成调试器来实现高效的开发体验。
首先,安装 Keil Studio Pack。对 CMSIS-Pack 的支持有助于加快开发和部署速度。在 Visual Studio Code 中安装 Keil MDK v6 扩展时,会自动配置所有必要的工具,并自动安装 Corstone FVP,以提高便利性。
在 GitHub 上,基于 CMSIS Pack 的 ML 示例可帮助你探索 Arm Keil MDK v6 工具。这些 ML 示例使用了 Keil MDK v6 和 MLEK中的 CMSIS-Pack。
探索其他项目和工具
除了上述步骤之外,还有其他一些重要资源可以提升你在使用 Corstone-320 FVP 时的开发体验。
如果你想构建一个连接到云服务并内置安全功能的应用,那么 Arm Corstone FreeRTOS 参考集成是一个很好的起点。其中提供了一个包含 FreeRTOS 内核和库的完全集成的堆栈,以及与 Trusted Firmware-M 安全库集成的亚马逊云科技 (AWS) 设备管理服务。
这符合严格的 PSA Certified 安全要求,并提供与 AWS 托管应用的加密通信、安全的端侧存储和设备认证等功能。此外也可以通过 PSA 固件更新机制安全地更新设备固件。
另一个用于仿真的资源是 Arm 虚拟硬件 (Arm Virtual Hardware) 平台,你可以在云端模拟硬件,用于开发和测试目的。利用这个平台,你可以在将应用部署到实际硬件上之前,在虚拟环境中进行测试,从而加快开发周期。
结论
随着 Arm Corstone-320 硬件和软件的推出,开发者可以更轻松地开始构建引人注目、功能丰富的端点 AI 应用。Arm 提供了一系列全面且易于使用的项目和教程,帮助你充分利用 Arm IP。在上述示例中,Corstone-320 FVP 与 Arm ML 嵌入式评估套件相结合,为在嵌入式和物联网设备上开发和评估 ML 应用提供了一个强大的平台。通过本指南,即可利用预先集成的系统 IP 和 Arm 提供的各种工具来高效地创建和优化 ML 工作负载。
此外,Arm Developer Community 提供了丰富的教程、文档,并设有论坛,你可以在其中找到问题的答案并与其他开发者分享见解。这些资源将帮助您充分利用 Corstone-320 FVP 并增强 ML 应用开发能力。
-
处理器
+关注
关注
68文章
19273浏览量
229726 -
ARM
+关注
关注
134文章
9091浏览量
367444 -
机器学习
+关注
关注
66文章
8411浏览量
132599
原文标题:即刻动手尝试!面向 Arm Ethos-U85 NPU 和 Cortex-M85 处理器的 Corstone-320 FVP
文章出处:【微信号:Arm社区,微信公众号:Arm社区】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论