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

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

3天内不再提示

AI开发套件将神经网络转换为优化代码

邓长生 来源:邓长生 作者:邓长生 2022-08-17 15:12 次阅读

流畅的开发人员体验是人工智能设计的基础。开发工具包可以简化为边缘和低延迟数据中心部署准备训练好的神经网络

生产级 AI 开发套件在克服软件支持限制和 AI 采用障碍方面变得至关重要,尤其是在加速受尺寸和功耗限制的端点设备中的边缘推理时。这就是人工智能开发套件弥合流行的训练框架(如 TensorFlow)与高度受限的边缘和物联网部署之间差距的地方。

以人工智能专家为其智能处理单元 (IPU) 平台开发的Mythic SDK为例,主要针对智能相机系统、工业机器人和智能家电。Mythic IPU 架构具有一组磁贴,每个磁贴都有三个硬件组件。

首先,一个大型模拟计算阵列存储庞大的神经网络权重。其次,有一个本地 SRAM 存储器用于在神经网络节点之间传递数据。第三,单指令多数据 (SIMD) 单元满足模拟计算阵列未处理的处理操作,纳米处理器控制块的排序和操作。

Mythic SDK 软件运行两个阶段:优化和编译。Mythic 优化套件将神经网络转换为与模拟内存计算兼容的形式,包括从浮点值量化为 8 位整数。

Mythic Graph Compiler 执行自动映射、打包和代码生成。Mythic SDK 生成并编译二进制映像以在 IPU 架构上运行。接下来,通过一系列自动化步骤处理从神经网络计算图到机器代码的转换,包括映射、优化和代码生成。

因此,开发人员拥有一个打包的二进制文件,其中包含主机驱动程序在实时环境中对加速器芯片进行编程和运行神经网络所需的一切。

嵌入式系统中的神经网络微控制器供应商 STMicroelectronics 还推出了一个工具箱,允许开发人员生成优化代码以在其微控制器 (MCU) 上运行神经网络。开发人员可以使用在 Caffe、Keras、TensorFlow、Lasagne 和 ConvNetJS 等流行库上预训练的神经网络,然后将它们转换为可以在 MCU 上运行的 C 代码。

这就是人工智能——通常使用几乎无限的云资源——可以在具有计算和内存限制的嵌入式平台上高效运行的方式。该工具包通过使用神经网络对来自传感器和麦克风等物联网节点的数据进行分类,而不是使用传统的信号处理技术,从而实现人工智能。

STMicroelectronics 在其STM32CubeMX MCU 配置和软件代码生成生态系统中添加了 AI 功能。它以STM32Cube.AI的形式出现 ,用作 STM32CubeMX 代码生成器的扩展包。STM32Cube.AI 在公司的 STM32 MCU 上运行,可作为功能包提供,其中包括用于人类活动识别和音频场景分类的示例代码。

poYBAGLyDkSAMG8jAAKLpPig7z8279.jpg

图 1:STM32Cube.AI 扩展包可在 STM32CubeMX 代码生成器中下载,支持 Caffe、带有 TensorFlow 后端的 Keras、Lasagne 和 ConvNetJS 框架以及来自 Keil、IAR 和 System Workbench 的 IDE。(图片:意法半导体

STM32CubeMX 代码生成器在 STM32 MCU 上映射神经网络,然后优化生成的库,而 STM32Cube.AI 功能包利用 ST 的 SensorTile 参考板在训练过程之前捕获和标记传感器数据。参考板运行由优化的神经网络启用的推理。这些代码示例也可用于 SensorTile 参考板和 ST 的 BLE Sensor 移动应用程序。

机器学习工具包另一个值得注意的 AI 开发工具包也来自 MCU 供应商。NXP Semiconductors 的eIQ 是一个机器学习 (ML) 工具包,支持 TensorFlow Lite、Caffe2 和其他神经网络框架以及非神经 ML 算法。它有助于在用于语音、视觉和异常检测应用的各种神经网络框架和推理引擎上进行模型转换。

eIQ 软件环境提供了构建和优化云训练的 ML 模型的工具,以便它们可以在资源受限的边缘设备上高效运行,适用于广泛的工业、物联网和汽车应用。它还具有数据采集和管理工具以及对 GLOW 和 XLA 等神经网络编译器的支持。

eIQ 工具套件支持 NXP 的 MCU 和应用处理器系列,还使设计人员能够为深度学习算法的每一层选择和编程嵌入式计算引擎。自动选择过程显着提高了性能并缩短了上市时间。

随着eIQ Auto的推出,恩智浦已将 eIQ 机器学习开发环境扩展到汽车 AI 设计。汽车级工具包使开发人员能够在视觉、驾驶员更换、传感器融合、驾驶员监控和其他不断发展的汽车应用中实施基于深度学习的算法。eIQ Auto 中的推理引擎与 Automotive SPICE 兼容。

Arm 的 AI 工具链NXP 的 eIQ 和 ST 的 STM32Cube.AI 这两个 AI 开发平台都与 Arm 的生态系统相关联。例如,STM32Cube.AI 工具集支持 Arm 的 Cortex-M55 处理器。同样,恩智浦正在将 Arm 的 Ethos-U55 机器学习加速器整合到其 MCU 和应用处理器中。

Arm 的 Cortex-M 软件工具链具有对Cortex-M55和Ethos-U55的支持。与之前的 Cortex-M 版本相比,Cortex-M55 的 ML 性能提升高达 15 倍,DSP 性能提升高达 5 倍。Cortex-M55 可以轻松与 Ethos-U55 配对,Ethos-U55 是 Arm 的 microNPU,旨在加速区域受限嵌入式和物联网设备中的机器学习推理。

pYYBAGLyDlWAWr5XABpaKCBxQq8321.jpg

图 2:Ethos-U55 机器学习加速器与 Cortex-M 内核一起工作,以缩小 AI 芯片的占用空间,从而有效地服务于受限的嵌入式设计。(图片:手臂)

Arm 的 Cortex-M 软件工具链旨在为 AI 工作负载创建统一的开发流程,同时优化领先的机器学习框架。例如,Arm 已经开始使用 TensorFlow Lite 进行优化工作。谷歌和 Arm 联手优化 Arm 处理器架构上的 TensorFlow,以便在功率受限和成本敏感的嵌入式设备上实现机器学习。

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

    关注

    42

    文章

    4765

    浏览量

    100573
  • 软件
    +关注

    关注

    69

    文章

    4801

    浏览量

    87184
  • AI
    AI
    +关注

    关注

    87

    文章

    30272

    浏览量

    268497
  • 代码
    +关注

    关注

    30

    文章

    4758

    浏览量

    68374
收藏 人收藏

    评论

    相关推荐

    关于卷积神经网络,这些概念你厘清了么~

    随着人工智能(AI)技术的快速发展,AI可以越来越多地支持以前无法实现或者难以实现的应用。本文基于此解释了 卷积神经网络 (CNN)及其对人工智能和机器学习的意义。CNN是一种能够从复杂数据中提
    发表于 10-24 13:56

    神经网络优化器有哪些

    神经网络优化器是深度学习中用于调整网络参数以最小化损失函数的重要工具。这些优化器通过不同的策略来更新网络权重,以提高训练效率和模型性能。以下
    的头像 发表于 07-11 16:33 525次阅读

    BP神经网络和卷积神经网络的关系

    广泛应用的神经网络模型。它们各自具有独特的特点和优势,并在不同的应用场景中发挥着重要作用。以下是对BP神经网络和卷积神经网络关系的详细探讨,内容涵盖两者的定义、原理、区别、联系以及应
    的头像 发表于 07-10 15:24 1276次阅读

    BP神经网络和人工神经网络的区别

    BP神经网络和人工神经网络(Artificial Neural Networks,简称ANNs)之间的关系与区别,是神经网络领域中一个基础且重要的话题。本文将从定义、结构、算法、应用及未来发展等多个方面,详细阐述BP
    的头像 发表于 07-10 15:20 873次阅读

    rnn是递归神经网络还是循环神经网络

    RNN(Recurrent Neural Network)是循环神经网络,而非递归神经网络。循环神经网络是一种具有时间序列特性的神经网络,能够处理序列数据,具有记忆功能。以下是关于循环
    的头像 发表于 07-05 09:52 504次阅读

    递归神经网络与循环神经网络一样吗

    时具有各自的优势和特点。本文介绍递归神经网络和循环神经网络的概念、结构、工作原理、优缺点以及应用场景。 递归神经网络(Recursive Neural Network,RvNN) 1
    的头像 发表于 07-05 09:28 716次阅读

    递归神经网络是循环神经网络

    。 递归神经网络的概念 递归神经网络是一种具有短期记忆功能的神经网络,它能够处理序列数据,如时间序列、文本、语音等。与传统的前馈神经网络不同,递归
    的头像 发表于 07-04 14:54 653次阅读

    循环神经网络和卷积神经网络的区别

    结构。它们在处理不同类型的数据和解决不同问题时具有各自的优势和特点。本文将从多个方面比较循环神经网络和卷积神经网络的区别。 基本概念 循环神经网络是一种具有循环连接的神经网络结构,它可
    的头像 发表于 07-04 14:24 1147次阅读

    神经网络优化算法有哪些

    神经网络优化算法是深度学习领域中的核心技术之一,旨在通过调整网络中的参数(如权重和偏差)来最小化损失函数,从而提高模型的性能和效率。本文详细探讨
    的头像 发表于 07-03 16:01 464次阅读

    bp神经网络和卷积神经网络区别是什么

    结构、原理、应用场景等方面都存在一定的差异。以下是对这两种神经网络的比较: 基本结构 BP神经网络是一种多层前馈神经网络,由输入层、隐藏层和输出层组成。每个神经元之间通过权重连接,并通
    的头像 发表于 07-03 10:12 1053次阅读

    BP神经网络激活函数怎么选择

    中,激活函数起着至关重要的作用,它决定了神经元的输出方式,进而影响整个网络的性能。 一、激活函数的作用 激活函数是BP神经网络神经元的核心组成部分,其主要作用如下: 引入非线性:激活
    的头像 发表于 07-03 10:02 598次阅读

    生成式AI神经网络模型的区别和联系

    生成式AI神经网络模型是现代人工智能领域的两个核心概念,它们在推动技术进步和应用拓展方面发挥着至关重要的作用。本文详细探讨生成式AI神经网络
    的头像 发表于 07-02 15:03 617次阅读

    卷积神经网络和bp神经网络的区别

    卷积神经网络(Convolutional Neural Networks,简称CNN)和BP神经网络(Backpropagation Neural Networks,简称BPNN)是两种
    的头像 发表于 07-02 14:24 3103次阅读

    如何训练和优化神经网络

    神经网络是人工智能领域的重要分支,广泛应用于图像识别、自然语言处理、语音识别等多个领域。然而,要使神经网络在实际应用中取得良好效果,必须进行有效的训练和优化。本文将从神经网络的训练过程
    的头像 发表于 07-01 14:14 404次阅读

    电机控制系统的神经网络优化策略

    电机控制系统作为现代工业自动化的核心组成部分,其性能直接影响到整个生产线的效率和稳定性。随着人工智能技术的快速发展,神经网络在电机控制系统中的应用越来越广泛。神经网络优化策略通过模拟人脑神经
    的头像 发表于 06-25 11:46 592次阅读