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

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

3天内不再提示

CMSIS 5.8.0优化机器学习应用的神经网络和信号处理

星星科技指导员 来源:嵌入式计算设计 作者:Saumitra Jagdale 2022-08-16 09:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

CMSIS 通过集成各种包和模块,从软件角度增强了嵌入式项目。它带有一系列工具、API 和框架,可帮助嵌入式开发人员实现流畅的应用程序构建。此外,从开发的角度来看,实时操作系统和中间件组件提供了多种选择。

CMSIS-Pack 的组织结构使其适用于划分和克服应用程序的复杂要求。随着 5.8.0 版本的发布,CMSIS-NN 和 CMSIS-DSP 已从复合 CMSIS 核心中分离出来,后者是 CMSIS 包的主要组件之一。这种自由裁量权允许集中开发机器学习信号处理功能,并且包的相应发布周期独立于主要的 CMSIS 核心版本。

CMSIS-DSP 包有一些小的变化,一些 GCC 问题已通过将 DSP 包离散更新到 1.9.0 版本而得到修复。更新后的软件包增强了对 f16 数据类型的支持,以便对接收到的数据进行有效的信号处理。此外,还从存储库中删除了一些预构建的库,以获得更清晰的包源。

TensorFlow Lite 框架将接口机器学习本质添加到硬件应用程序中。更新后的 CMSIS-NN 包在 TensorFlow Lite 微控制器框架支持的功能接口上发生了一些重大变化。另外,这个版本通过 M-Profile Vector Extension 的处理相对更好,这是由于最大池算子的实现。运算符在非重叠区域上工作以减小向量或矩阵的大小。这导致机器学习用例的优化处理。

ARM 嵌入式工具高级总监 Reinhard Keil 表示:“最新的 CMSIS 版本 5.8.0 对在 Cortex-M55 处理器中实现的 Helium 矢量扩展支持具有额外的性能改进。这包括优化 CMSIS-DSP 算法集合和用于机器学习应用的高效神经网络内核 CMSIS 集合。”

CMSIS 核心的启动代码

C 启动代码最初是在 CMSIS 5.6.0 中引入的,它增加了代码的可移植性和复杂构建的开发简易性。CMSIS 核心中的设备启动代码现在可以直接用 C 语言编写,这使其独立于编译器工具链。此外,CMSIS 5.8.0 的发布使 C 启动成为设备的默认启动。

进一步讨论,GCC Linker Description 和 GCC Assembler startup 的更新很少。到目前为止,汇编代码使用字节计数来进行 BSS(由符号开始的块)和零部分的初始化的复制/零表。另一方面,C 启动代码使用字数而不是字节数。在 CMSIS 5.8.0 中,两个启动代码变体都使用相同的复制/零表布局。因此,它提供了从汇编代码到 C 启动代码来回切换的灵活性。

Armv8-M Assembler 启动已更新为使用 CMSIS 5.8.0 版本的 GAS 语法。最新的 ARM 编译器 6 支持传统的 Arm Assembler(armasm),使软件向后兼容所有设备。Arm Compiler 6 以 LLVM/Clang 为基础,因此较新处理器的汇编代码需要采用 GAS 语法。

CMSIS 是一个开源项目

CMSIS 是 GitHub 上的一个开源项目。由于先前版本的实现在某些小点上使接口失败,因此很少出现问题。这些问题中的大多数将在下一个版本中得到解决,但可以通过在本地技术堆栈中进行一些更改来解决它们。您可以通过访问CMSIS 5.8.0 版本的 GitHub 查看这些问题和修复。

该存储库是开源的,因此它有助于解决用户和合作伙伴报告的潜在安全漏洞问题。它允许每个用户访问详细的修订历史、提交细节和已知问题,这些问题可能会影响一些依赖先前实现的副作用的用户。

CMSIS 中属于软件打包和构建过程的其他组成部分正在转向 Open-CMSIS-Pack 项目,该项目可以增加开发和应用方面的更多可能性。因此,这是一个由 Arm 和 NXP、STMicroelectronics 和 Linaro 等行业合作伙伴推动的开放式治理项目。

审核编辑:郭婷

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

    关注

    42

    文章

    4827

    浏览量

    106793
  • 编译器
    +关注

    关注

    1

    文章

    1669

    浏览量

    51079
  • 机器学习
    +关注

    关注

    66

    文章

    8541

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    NMSIS神经网络库使用介绍

    NMSIS NN 软件库是一组高效的神经网络内核,旨在最大限度地提高 Nuclei N 处理器内核上的神经网络的性能并最​​大限度地减少其内存占用。 该库分为多个功能,每个功能涵盖特定类别
    发表于 10-29 06:08

    在Ubuntu20.04系统中训练神经网络模型的一些经验

    , batch_size=512, epochs=20)总结 这个核心算法中的卷积神经网络结构和训练过程,是用来对MNIST手写数字图像进行分类的。模型将图像作为输入,通过卷积和池化层提取图像的特征,然后通过全连接层进行分类预测。训练过程中,模型通过最小化损失函数来优化
    发表于 10-22 07:03

    液态神经网络(LNN):时间连续性与动态适应性的神经网络

    神经元,但却能产生复杂的行为。受此启发,与传统的神经网络相比,LNN旨在通过模拟大脑中神经元之间的动态连接来处理信息,这种网络能够顺序
    的头像 发表于 09-28 10:03 695次阅读
    液态<b class='flag-5'>神经网络</b>(LNN):时间连续性与动态适应性的<b class='flag-5'>神经网络</b>

    如何在机器视觉中部署深度学习神经网络

    图 1:基于深度学习的目标检测可定位已训练的目标类别,并通过矩形框(边界框)对其进行标识。 在讨论人工智能(AI)或深度学习时,经常会出现“神经网络”、“黑箱”、“标注”等术语。这些概念对非专业
    的头像 发表于 09-10 17:38 692次阅读
    如何在<b class='flag-5'>机器</b>视觉中部署深度<b class='flag-5'>学习</b><b class='flag-5'>神经网络</b>

    BP神经网络网络结构设计原则

    ,仅作为数据输入的接口。输入层的神经元个数通常与输入数据的特征数量相对应。 隐藏层 :对输入信号进行非线性变换,是神经网络的核心部分,负责学习输入与输出之间的复杂映射关系。隐藏层可以有
    的头像 发表于 02-12 16:41 1253次阅读

    BP神经网络的调参技巧与建议

    BP神经网络的调参是一个复杂且关键的过程,涉及多个超参数的优化和调整。以下是一些主要的调参技巧与建议: 一、学习率(Learning Rate) 重要性 :学习率是BP
    的头像 发表于 02-12 16:38 1455次阅读

    BP神经网络与卷积神经网络的比较

    多层。 每一层都由若干个神经元构成,神经元之间通过权重连接。信号神经网络中是前向传播的,而误差是反向传播的。 卷积神经网络(CNN) :
    的头像 发表于 02-12 15:53 1305次阅读

    如何优化BP神经网络学习

    优化BP神经网络学习率是提高模型训练效率和性能的关键步骤。以下是一些优化BP神经网络学习率的方
    的头像 发表于 02-12 15:51 1422次阅读

    BP神经网络的优缺点分析

    BP神经网络(Back Propagation Neural Network)作为一种常用的机器学习模型,具有显著的优点,同时也存在一些不容忽视的缺点。以下是对BP神经网络优缺点的分析
    的头像 发表于 02-12 15:36 1573次阅读

    什么是BP神经网络的反向传播算法

    神经网络(即反向传播神经网络)的核心,它建立在梯度下降法的基础上,是一种适合于多层神经元网络学习算法。该算法通过计算每层网络的误差,并将这
    的头像 发表于 02-12 15:18 1274次阅读

    BP神经网络与深度学习的关系

    ),是一种多层前馈神经网络,它通过反向传播算法进行训练。BP神经网络由输入层、一个或多个隐藏层和输出层组成,通过逐层递减的方式调整网络权重,目的是最小化网络的输出误差。 二、深度
    的头像 发表于 02-12 15:15 1340次阅读

    BP神经网络在图像识别中的应用

    BP神经网络在图像识别中发挥着重要作用,其多层结构使得网络能够学习到复杂的特征表达,适用于处理非线性问题。以下是对BP神经网络在图像识别中应
    的头像 发表于 02-12 15:12 1185次阅读

    如何训练BP神经网络模型

    BP(Back Propagation)神经网络是一种经典的人工神经网络模型,其训练过程主要分为两个阶段:前向传播和反向传播。以下是训练BP神经网络模型的步骤: 一、前向传播 前向传播是信号
    的头像 发表于 02-12 15:10 1463次阅读

    深度学习入门:简单神经网络的构建与实现

    深度学习中,神经网络是核心模型。今天我们用 Python 和 NumPy 构建一个简单的神经网络神经网络由多个神经元组成,
    的头像 发表于 01-23 13:52 841次阅读

    人工神经网络的原理和多种神经网络架构方法

    在上一篇文章中,我们介绍了传统机器学习的基础知识和多种算法。在本文中,我们会介绍人工神经网络的原理和多种神经网络架构方法,供各位老师选择。 01 人工
    的头像 发表于 01-09 10:24 2244次阅读
    人工<b class='flag-5'>神经网络</b>的原理和多种<b class='flag-5'>神经网络</b>架构方法