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

    文章

    4572

    浏览量

    98717
  • 软件
    +关注

    关注

    67

    文章

    4346

    浏览量

    85616
  • AI
    AI
    +关注

    关注

    87

    文章

    26424

    浏览量

    264028
  • 代码
    +关注

    关注

    30

    文章

    4555

    浏览量

    66739
收藏 人收藏

    评论

    相关推荐

    FPGA在深度学习应用中或取代GPU

    神经网络进行任何更改,也不需要学习任何新工具。不过你可以保留你的 GPU 用于训练。” Zebra 提供了深度学习代码转换为 FPGA 硬件指令的抽象层
    发表于 03-21 15:19

    用STM32CubeMX导入神经网络,aiRun的indata应该定义成什么格式呢?

    我用STM32CubeMX中的X-Cube-AI, 导入了一个处理时间序列的神经网络网络input是2维数据,如(10,256,2) 在Generate code之后,在main.c文件中,有一个aiRun函数,需要输入一个
    发表于 03-13 07:38

    基于OpenVINO在英特尔开发套件上实现眼部追踪

    本文将以训练一个眼部追踪 AI 小模型为背景,介绍从 Pytorch 自定义网络模型,到使用 OpenVINO NNCF 量化工具优化模型,并部署到英特尔开发套件爱克斯
    的头像 发表于 09-18 10:11 435次阅读

    AI加速器架构设计与实现》+第一章卷积神经网络观后感

    AI加速器架构设计与实现》+第一章卷积神经网络观感    在本书的引言中也提到“一图胜千言”,读完第一章节后,对其进行了一些归纳(如图1),第一章对常见的神经网络结构进行了介绍,举例了一些结构
    发表于 09-11 20:34

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

    人工神经网络和bp神经网络的区别  人工神经网络(Artificial Neural Network, ANN)是一种模仿人脑神经元网络结构和功能的计算模型,也被称为
    的头像 发表于 08-22 16:45 3428次阅读

    cnn卷积神经网络简介 cnn卷积神经网络代码

    cnn卷积神经网络简介 cnn卷积神经网络代码 卷积神经网络(Convolutional Neural Network,简称CNN)是目前深度学习领域中应用广泛的一种
    的头像 发表于 08-21 17:16 2023次阅读

    cnn卷积神经网络matlab代码

    cnn卷积神经网络matlab代码  卷积神经网络(Convolutional Neural Network, CNN)是深度学习中一种常用的神经网络结构,它是通过卷积层、池化层和全连
    的头像 发表于 08-21 17:15 865次阅读

    卷积神经网络和深度神经网络的优缺点 卷积神经网络和深度神经网络的区别

    深度神经网络是一种基于神经网络的机器学习算法,其主要特点是由多层神经元构成,可以根据数据自动调整神经元之间的权重,从而实现对大规模数据进行预测和分类。卷积
    发表于 08-21 17:07 2314次阅读

    卷积神经网络算法代码matlab

    卷积神经网络算法代码matlab 卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习网络模型,其特点是具有卷积层(Convolutional
    的头像 发表于 08-21 16:50 804次阅读

    卷积神经网络的基本原理 卷积神经网络发展 卷积神经网络三大特点

    卷积神经网络的基本原理 卷积神经网络发展历程 卷积神经网络三大特点  卷积神经网络的基本原理 卷积神经网络(Convolutional Ne
    的头像 发表于 08-21 16:49 1435次阅读

    卷积神经网络python代码

    的卷积操作,将不同层次的特征进行提取,从而通过反向传播算法不断优化网络权重,最终实现分类和预测等任务。 在本文中,我们将介绍如何使用Python实现卷积神经网络,并详细说明每一个步骤及其原理。 第一步:导入必要的库 在开始编写
    的头像 发表于 08-21 16:41 683次阅读

    卷积神经网络原理:卷积神经网络模型和卷积神经网络算法

    卷积神经网络原理:卷积神经网络模型和卷积神经网络算法 卷积神经网络(Convolutional Neural Network,CNN)是一种基于深度学习的人工
    的头像 发表于 08-17 16:30 913次阅读

    用CMSIS-NN版本转换Arm Cortex-M的神经网络:r0p0指南

    2. 概览 本指南向您展示了如何神经网络从任何框架转换成一个基于 Arm Cortex-M-M 装置的实施工具, 使用 Arm CMSIS- NN 库。 此教程用于不再支持的 CMSIS- NN
    发表于 08-11 07:06

    如何使用TensorFlow神经网络模型部署到移动或嵌入式设备上

    有很多方法可以经过训练的神经网络模型部署到移动或嵌入式设备上。不同的框架在各种平台上支持Arm,包括TensorFlow、PyTorch、Caffe2、MxNet和CNTK,如Android
    发表于 08-02 06:43

    三个最流行神经网络

    在本文中,我们将了解深度神经网络的基础知识和三个最流行神经网络:多层神经网络(MLP),卷积神经网络(CNN)和递归神经网络(RNN)。
    发表于 05-15 14:19 1174次阅读
    三个最流行<b class='flag-5'>神经网络</b>