https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ml-embedded-evaluation-kit
Arm Ethos-U55是世界上第一款microNPU。这是一种新型的ML处理器,旨在加速嵌入式和物联网设备上的ML推理。
评估工具包概述
此评估工具包的目的是允许用户开发软件并测试Ethos-U NPU和Cortex-M55 CPU的性能。Ethos-U NPU是一种新型机器学习(ML)处理器,专门设计用于在受限嵌入式和物联网设备中加速ML工作负载的计算。该产品经过优化,可高效执行ML算法中常用的数学运算,如卷积或激活函数。
ML用例
评估工具包通过为嵌入式堆栈提供随时可用的ML应用程序来增加价值。因此,您可以试验已经开发的软件用例,并为Cortex-M CPU和Ethos-U NPU创建自己的应用程序。下表列出了可供您使用的示例应用程序和使用的模型。
上述用例实现了端到端的ML流,包括数据预处理和后处理。它们将允许您调查嵌入式软件堆栈,通过显示不同的性能指标(如推断周期计数估计和网络执行结果),评估在Cortex-M55 CPU和Ethos-U NPU上运行的网络的性能。
软件和硬件概述
评估工具包基于Arm®Corstone™-300参考包。Arm®Corstone™-300帮助您在Arm®Cortex上快速构建SOC™-M55和Arm®精神™-U55设计。Arm®Corstone™-300设计实现在Arm MPS3 FPGA板上公开,或作为MPS3开发板的固定虚拟平台公开。
这里描述了Ethos-U NPU软件堆栈。
所有ML用例,尽管说明了不同的应用程序,都有共同的代码,比如初始化硬件抽象层(HAL)。由于HAL,应用程序通用代码可以在x86或Arm Cortex-M体系结构上运行。对于ML应用程序特定的部分,Google®TensorFlow™ 微控制器推理机用于调度神经网络模型的执行。微控制器TensorFlow Lite与Ethos-U NPU驱动程序集成,并将某些操作符的执行委托给NPU,如果NPU不支持神经网络模型操作符,则委托给CPU。CMSIS-NN用于优化int8数据类型的CPU工作负载执行。通用的ML应用程序函数将帮助您专注于实现定制ML用例的逻辑:您只能修改用例代码,而保持所有其他组件不变。提供的构建系统将发现新的ML应用程序代码,并自动将其包含到编译流中。
要在Cortex-M和Ethos-U NPU上运行ML应用程序,请执行以下步骤:
- 通过安装所需的先决条件来设置您的环境。
- 按照此处的说明,使用Vela编译器生成Ethos-U的优化神经网络模型。
- 配置生成系统。
- 使用make命令编译项目。
如果使用FVP,请在FVP上启动所需的应用程序。如果使用FPGA选项,请在FPGA上加载图像并启动应用程序。
要熟悉这些步骤,您可以按照《快速入门指南》进行操作。https://review.mlplatform.org/plugins/gitiles/ml/ethos-u/ml-embedded-evaluation-kit/+/HEAD/docs/quick_start.md