活动介绍

使用ApacheTVM在Arduino和ArmEthos-U55微NPU上运行机器学习模型

立即解锁
发布时间: 2025-08-31 00:22:53 阅读量: 5 订阅数: 15 AIGC
### 使用Apache TVM在Arduino和Arm Ethos - U55微NPU上运行机器学习模型 #### 1. 在Arduino相关平台运行模型 在微控制器上上传草图后,内置LED会亮起,这表明输入测试图像分类正确。之前我们学习了如何使用TVM生成代码,在树莓派Pico上运行CIFAR - 10模型推理,并使用Arduino CLI编译和上传到微控制器。 虽然目前TVM不支持SparkFun Artemis Nano的微控制器(Ambiq Apollo3)作为目标设备,但我们仍可以通过指定Ambiq Apollo3微控制器的CPU架构(Arm Cortex - M4)和所需的输出语言(C)来为该平台生成代码,示例代码如下: ```python t = "c -keys=arm_cpu,cpu -mcpu=cmsis-nn,cortex-m4" artemis_nano = tvm.target.Target(t) ``` 指定目标设备后,可按照为Arduino Nano和树莓派Pico介绍的步骤,使用TVM为SparkFun Artemis Nano构建Arduino项目。在GitHub仓库的Chapter11文件夹中的Colab笔记本里,有生成该平台Arduino项目的代码块。 #### 2. 安装Arm Corstone - 300的固定虚拟平台(FVP) TVM可以为各种平台生成代码,包括带有Arm Ethos - U55处理器的平台。Arm Ethos - U55是Arm设计的首个微NPU,用于扩展基于Cortex - M的设备的机器学习能力。 ##### 2.1 准备工作 Arm Corstone - 300平台的FVP模型(https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/arm-ecosystem-fvps)是一个免费的虚拟平台,基于Arm Cortex - M55 CPU和Ethos - U55微NPU。Arm Ethos - U55(https://www.arm.com/products/silicon-ip-cpu/ethos/ethos-u55)是专门用于机器学习推理的处理器,与Cortex - M CPU协同工作。 它能高效计算量化8位/16位深度神经网络中的大多数基本运算,如卷积、全连接和深度卷积层核心的乘加(MAC)运算。使用微NPU执行机器学习推理时,CPU负责驱动机器学习工作负载。若微NPU遇到不支持的运算符,CPU会接管计算。 从微控制器编程角度看,将模型作为C/C++程序提供的过程不变。权重、偏置和量化参数可存储在程序内存中,输入和输出张量可保存在SRAM中。程序上传到微控制器后,驱动程序通过向微NPU发送一系列命令(命令流)将计算任务卸载给它,微NPU执行完所有命令并将输出存储在用户定义的内存区域后,会向CPU发送中断信号。 ##### 2.2 安装步骤 以下是在Colab中安装Arm Corstone - 300平台FVP模型的步骤: 1. **下载FVP模型**: ```bash !wget https://developer.arm.com/-/media/Arm%20Developer%20Community/Downloads/OSS/FVP/Corstone-300/FVP_Corstone_SSE-300_11.22_20_Linux64.tgz?rev=018659bd574f4e7b95fa647e7836ccf4&hash=22A79103C6FA5FFA7AFF3BE0447F3FF9 ``` 也可从Arm Ecosystem FVPs网页(https://developer.arm.com/tools-and-software/open-source-software/arm-platforms-software/arm-ecosystem-fvps)手动下载,下载完成后导入Colab。 2. **解压文件并设置可执行权限**: ```bash !tar -xvzf FVP_Corstone_SSE-300_11.22_20_Linux64.tgz?rev=018659bd574f4e7b95fa647e7836ccf4 !chmod +x FVP_Corstone_SSE-300.sh ``` 3. **运行安装脚本**: ```bash !./FVP_Corstone_SSE-300.sh \ --i-agree-to-the-contained-eula \ --no-interactive ``` 安装完成后,Corstone - 300 FVP二进制文件将位于`/usr/local/FVP_Corstone_SSE - 300`目录。 4. **添加路径到环境变量**: ```python os.environ['PATH'] += ':/usr/local/FVP_Corstone_SSE-300/models/Linux64_GCC-9.3' ``` 5. **检查安装情况**: ```bash !FVP_Corstone_SSE-300_Ethos-U55 --version ``` 若`$PATH`环境变量更新正确,该命令应在输出日志中返回版本信息,表明带有Arm Cortex - M55 CPU和Ethos - U55微NPU的虚拟硬件已安装并可使用。 除了这个虚拟设备,市场上的Alif Semiconductor Ensemble(https://alifsemi.com/products/ensemble/)微控制器也采用了Arm Ethos - U55微NPU,它能实现语音识别和面部检测等实时任务。 #### 3. 使用TVMC为Arm Ethos - U55生成代码 之前我们使用TVM
corwn 最低0.47元/天 解锁专栏
赠100次下载
继续阅读 点击查看下一篇
profit 400次 会员资源下载次数
profit 300万+ 优质博客文章
profit 1000万+ 优质下载资源
profit 1000万+ 优质文库回答
复制全文

相关推荐

张_伟_杰

人工智能专家
人工智能和大数据领域有超过10年的工作经验,拥有深厚的技术功底,曾先后就职于多家知名科技公司。职业生涯中,曾担任人工智能工程师和数据科学家,负责开发和优化各种人工智能和大数据应用。在人工智能算法和技术,包括机器学习、深度学习、自然语言处理等领域有一定的研究
最低0.47元/天 解锁专栏
赠100次下载
百万级 高质量VIP文章无限畅学
千万级 优质资源任意下载
千万级 优质文库回答免费看
立即解锁

专栏目录

最新推荐

基于比特币交易的区块链隐蔽通信方案

### 基于比特币交易的区块链隐蔽通信方案 #### 1. 引言 近年来,随着计算机和网络技术的飞速发展,现代网络信息传输的安全性逐渐受到关注。许多加密算法效率低下且易被破解,无法有效保障信息传输的机密性和完整性。因此,秘密信息的隐蔽通信方法成为了研究热点。 区块链作为一种分布式数据库,无需中央信任机构,就能实现多方之间开放、透明且防篡改的交易,可作为不信任用户之间具有信任的新公共通信渠道。随着区块链的发展,比特币交易成为了广泛使用的交易方式之一。比特币是一种基于P2P网络,借助加密技术实现货币发行、交易和账户管理功能的开源加密货币。其交易数据可视为新的通信渠道,区块链因其不易篡改、匿名和

时空动作分类与识别:原理、方法与应用

### 时空动作分类与识别:原理、方法与应用 #### 1. 动作分类 动作分类需要综合考虑行动者的姿势以及动作发生的环境(上下文)。例如,在图中展示了结合姿势和上下文信息进行动作分类和识别的过程。像骑自行车、骑马、使用电脑等动作,通过对姿势和环境因素的综合考量,能更准确地实现分类。 动作分类方法主要有基于姿势的分类和基于上下文的分类: - **基于姿势的分类**:着重分析行动者的身体姿势,以此判断动作类型。 - **基于上下文的分类**:关注动作发生的环境背景,辅助进行动作分类。 #### 2. 动作识别 动作和活动的表示与识别是一个较新但尚未成熟的领域,具体方法的选择通常取决于研究目

医疗数据分析中的高级优化技术与深度学习模型

# 医疗数据分析中的高级优化技术与深度学习模型 ## 1. 支持向量机与元启发式算法 ### 1.1 支持向量机基础 支持向量机(SVM)在医疗数据分析中是一种重要的分类工具。其优化问题通常受到约束条件的限制,例如: $$y_i(w^T\phi(S_i)+b)-1+\xi_i \geq 0, \forall i = 1,2,3,\cdots,M$$ 其中,$C$ 决定了松弛变量惩罚项相对于 SVM 间隔大小的权重。对应的拉格朗日方程为: $$\min_{w,\xi} L_P = \frac{1}{2}w^Tw + C\sum_{i = 1}^{M}\xi_i - \sum_{i = 1}^{

强化学习中的时间抽象与部分可观测性处理

### 强化学习中的时间抽象与部分可观测性处理 在强化学习领域,有两个关键的概念对于提升智能体的决策能力和适应性至关重要,它们分别是通过选项进行时间抽象,以及处理部分可观测性问题。下面我们将详细探讨这两个方面。 #### 1. 通过选项进行时间抽象 在实际应用中,马尔可夫决策过程(MDP)形式主义具有很强的适用性,能用于处理不同时间尺度的任务。例如,从决定抓取物体时肌肉的细微动作,到选择乘坐哪趟航班去远方城市,再到挑选一份能带来满足感的工作,这些任务虽然时间尺度差异巨大,但都可以被形式化为MDP,并通过规划或学习过程来解决。 然而,这些任务难以被统一为一个单一的MDP,因为它们的时间尺度

生成对抗网络与图神经网络:原理、优化与实践

# 生成对抗网络与图神经网络:原理、优化与实践 ## 生成对抗网络(GAN)的优化与应用 ### GAN 评估与优化的必要性 在生成对抗网络(GAN)的应用中,评估生成器的结果是一个关键问题。简单的人工视觉评估虽然直观,但存在主观性和对专业领域知识的依赖。从理论上讲,生成器的训练目标是最小化真实数据分布与合成样本分布之间的差异。然而,当前架构在使用交叉熵作为损失函数时效果不佳。 ### 分布差异度量指标 为了更好地衡量两个分布之间的差异,有多种指标可供使用,具体如下: | 指标名称 | 数学表示 | 含义 | | --- | --- | --- | | 全变差(Total Variatio

探索神经辐射场(NeRF)与可控神经特征场

### 探索神经辐射场(NeRF)与可控神经特征场 #### 1. 理解NeRF模型架构 在之前的工作中,我们使用了NeRF模型类,但未深入了解其具体结构。接下来,我们将可视化神经网络的样子,并详细剖析代码,理解其实现方式。 该神经网络以空间位置 $(x, y, z)$ 的谐波嵌入和 $(\theta, \phi)$ 的谐波嵌入作为输入,输出预测密度 $\sigma$ 和预测颜色 $(r, g, b)$。以下是我们要实现的网络架构: ![The simplified model architecture of the NeRF model](Figure 6.5) 需要注意的是,我们要

图像超分辨率技术:方法、损失函数与评估指标

# 图像超分辨率技术:方法、损失函数与评估指标 ## 1. 基于NAS的超分辨率模型 在图像超分辨率(SR)任务中,神经架构搜索(NAS)技术得到了应用。第一个将NAS应用于SR任务的模型是移动NAS中的多目标强化进化(MoreMNAS)。它包含三个基本组件: - 基于单元的搜索空间; - 基于相关多目标的模型生成控制器; - 返回多个反馈的评估器。 高效超分辨率网络(ESRN)进行了改进,它在搜索空间中使用三种不同的密集残差模型作为单元,以减少不必要的搜索。 分层NAS用于超分辨率(HNAS - SR)是一个解决实际SR分层搜索的结构系统。它采用分层方法构建搜索空间和控制器,控制器分别

探索可控神经特征场:GIRAFFE模型的深入解析与实践

### 探索可控神经特征场:GIRAFFE模型的深入解析与实践 #### 1. GIRAFFE模型基础原理 GIRAFFE模型的生成器部分利用选定的相机姿态、物体数量(包括背景)、对应的形状和外观代码以及仿射变换,首先合成特征场。具体步骤如下: 1. **生成特征场** - **类比NeRF模型**:在NeRF模型中,输出是由RGB值组成的图像,可看作一种特征场。而GIRAFFE模型生成的特征场是更抽象的概念,其维度为HV、WV和Mf,其中HV是特征场的高度,WV是宽度,Mf是通道数。 - **生成新图像的准备工作**: - **指定相机姿态**:定义相机的视

番茄叶早疫病与健康分类的混合叶生成对抗网络方案

### 番茄叶早疫病与健康分类的混合叶生成对抗网络方案 #### 1. 引言 在农业领域,印度虽是发展中国家,但却是全球重要的粮食供应国。然而,由于资源和意识的缺乏,农民难以实现作物的高产。为提高番茄作物的生产力,提出了利用“混合生成对抗网络(Hybrid GAN)”在早期识别番茄叶疾病的智能农业方案。该方案采用集成GAN和迁移学习的方法,对番茄叶进行“早疫病”或“健康”的分类。 手动检查植物疾病复杂且耗时,因此需要自动化系统辅助。该模型首先扩大数据集规模,使其包含受控和非受控条件下的图像,接着将这些图像传入编码器阶段提取特征,最后使用迁移学习方法进行分类。 在机器学习和深度学习算法设计

利用AI提升客户服务与业务运营效率

### 利用AI提升客户服务与业务运营效率 在当今竞争激烈的商业环境中,了解客户需求、优化业务运营是企业取得成功的关键。随着人工智能(AI)技术的发展,企业有了更强大的工具来实现这些目标。本文将探讨如何利用AI更好地理解客户、应对客户挑战、打造优质品牌体验以及管理业务地点。 #### 一、了解客户偏好与购买原因 在客户进入商店、网站、应用程序或其他购买渠道之前,了解他们的偏好,能大大增加他们找到符合自身需求产品的机会,还能让他们发现一些原本不知道但更适合自己的选择。从食品、服装到度假和投资,各个领域都是如此。 客户购买服务的原因多种多样,远不止于产品的财务价值。其中一个重要原因是定义自己