面向嵌入式系统的神经网络的映射方法及装置制造方法及图纸

技术编号:17796978 阅读:32 留言:0更新日期:2018-04-25 20:29
一种面向嵌入式系统的神经网络的映射方法及装置,方法包括:建立所述神经网络结构,并获取所述神经网络的参数;根据所述神经网络结构和所述神经网络的参数生成描述所述神经网络的数据流图;获取深度学习计算单元库,并利用深度学习计算单元库实现神经网络的数据流图,以获取神经网络的实现程序,从而能够以深度学习计算单元库为基础,将神经网络映射为应用于嵌入式系统的实现程序,从而能够加快神经网络在嵌入式平台的实现速度,最大化嵌入式平台的性能。

Neural network mapping method and device for embedded system

A mapping method and device for a neural network for an embedded system. The method comprises the following steps: establishing the neural network structure and obtaining the parameters of the neural network, generating a data flow chart describing the neural network according to the neural network structure and the parameters of the neural network, and obtaining a depth learning calculation unit library. The data flow graph of neural network is realized by using the depth learning computing unit library to obtain the implementation program of neural network, and the neural network can be mapped to the implementation program of embedded system based on the depth learning computing unit library, thus the speed of the neural network can be accelerated in the embedded platform. Maximize the performance of the embedded platform.

【技术实现步骤摘要】
面向嵌入式系统的神经网络的映射方法及装置
本专利技术涉及机器学习
,具体涉及一种面向嵌入式系统的神经网络的映射方法、一种面向嵌入式系统的神经网络系统以及一种面向嵌入式系统的神经网络的映射装置。
技术介绍
近几年,深度学习算法被成功应用于图片搜索和语言识别等领域。由于计算量大、内存占用高和应用实时性的要求,深度学习算法往往被部署在云端。随着芯片工艺和架构技术进步,以及轻量级深度学习模型的问世,深度学习算法已经可以在智能手机和嵌入式设备中实现,并将成为智能机器人、无人机和无人车等新型人工智能应用的基本功能单元。相关技术中,为了在嵌入式设备实现深度学习算法,通常将开源的深度学习框架例如TensorFlow(谷歌的第二代分布式机器学习系统)、Caffe(ConvolutionalArchitectureforFastFeatureEmbedding,卷积神经网络框架)或MXNet,移植到嵌入式计算平台。其中,开源深度学习框架指定移植支持的硬件架构、操作系统、工具链和基础软件库,提供移植所需的样例流程。开发者首先检查嵌入式平台是否满足移植的条件,然后以样例流程为模版,根据实际的平台修改流程,移植这些开源框架。但是,相关技术存在的问题是,开源框架大多针对云端平台,很难高效地应用到嵌入式平台,造成人力和时间的大量消耗,甚至影响产品原型验证和上市时间。
技术实现思路
本专利技术旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本专利技术的一方面的在于提出一种面向嵌入式系统的神经网络的映射方法,能够将神经网络映射成适用于嵌入式系统的实现程序。根据第一方面,实施例中提供一种面向嵌入式系统的神经网络的映射方法,包括以下步骤:建立所述神经网络结构,并获取所述神经网络的参数;根据所述神经网络结构和所述神经网络的参数生成描述所述神经网络的数据流图;获取深度学习计算单元库,并利用深度学习计算单元库实现神经网络的数据流图,以获取神经网络的实现程序。可选的,所述神经网络的参数可通过神经网络的深度学习模型训练获取。可选的,所述数据流图的具有节点和边,所述方法可还包括:将所述数据流图的节点映射到所述深度学习计算单元库,所述数据流图的边映射为所述节点的逻辑关系,以通过所述深度学习单元库获取神经网络的实现程序。可选的,所述深度学习计算单元库可为适用于嵌入式系统的单元库。根据第二方面,一种实施例中提供面向嵌入式系统的神经网络系统,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现所述的方法。根据第三方面,一种实施例中提供计算机可读存储介质所述程序能够被处理器执行以实现所述的方法。根据第四方面,一种实施例中提供面向嵌入式系统的神经网络的映射装置包括:第一获取单元,用于获取所述神经网络结构和所述神经网络的参数;编译器,用于根据所述神经网络结构和所述神经网络的参数生成描述所述神经网络的数据流图;第二获取单元,用于获取深度学习计算单元库,并利用深度学习计算单元库实现神经网络的数据流图,以获取神经网络的实现程序。可选的,所述神经网络的参数可通过神经网络的深度学习模型训练获取。可选的,所述数据流图的具有节点和边,所述装置可还包括:将所述数据流图的节点映射到所述深度学习计算单元库,所述数据流图的边映射为所述节点的逻辑关系,以通过所述深度学习单元库获取神经网络的实现程序。可选的,所述深度学习计算单元库可为适用于嵌入式系统的单元库。由以上技术方案可见,本实施例提供的面向嵌入式系统的神经网络的映射方法、装置以及系统,能够以深度学习计算单元库为基础,将神经网络映射为应用于嵌入式系统的实现程序,从而能够加快神经网络在嵌入式平台的实现速度,最大化嵌入式平台的性能。附图说明图1为根据本专利技术实施例的面向嵌入式系统的神经网络的映射方法流程图;图2为根据本专利技术一个具体实施例的面向嵌入式系统的神经网络的影射方法的流程图;图3为根据本专利技术一个具体实施例的面向嵌入式系统的神经网络的影射方法的数据流图的示意图;图4为根据本专利技术实施例的面向嵌入式系统的神经网络的映射装置的方框示意图。具体实施方式下面通过具体实施方式结合附图对本专利技术作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。图1为根据本专利技术实施例的面向嵌入式系统的神经网络的映射方法流程图。如图1所示,本专利技术实施例的面向嵌入式系统的神经网络的映射方法,包括以下步骤:S1:建立神经网络结构,并获取神经网络的参数。根据本专利技术的一个实施例,神经网络的参数可通过神经网络的深度学习模型训练获取,神经网络的深度学习模型训练过程可由高性能计算机和深度学习框架(例如Caffe、Tensorflow)实现。其中,神经网络的参数指神经元的输入的权重参数,由神经网络的深度学习模型训练过程得到,用于和神经网络的输入信息进行线性运算。其中,神经网络结构可通过具体的神经网络结构的描述文件进行建立。S2:根据神经网络结构和神经网络的参数生成描述神经网络的数据流图。需要说明的是,神经网络的数据流图包括节点和边,其中,节点代表神经网络结构的基本算子,边表示数据的流向,即节点的运算具有方向性,其决定了数据流图中节点的执行顺序。也就是说,可通过数据流图的有向边反映数据流图的节点的逻辑顺序。S3:获取深度学习计算单元库,并利用深度学习计算单元库实现神经网络的数据流图,以获取神经网络的实现程序。根据本专利技术的一个实施例,将数据流图的节点映射到深度学习计算单元库,数据流图的边映射为节点的逻辑关系,以通过深度学习单元库获取神经网络的实现程序。具体地,深度学习计算单元库为适用于嵌入式系统的单元库。需要说明的是,深度学习计算单元库是一组实现深度神经网络基本运算(如卷积运算、下采样运算、全连接运算等)的软件函数库。为了充分发挥硬件性能,提升神经网络计算的性能,针对不同硬件平台,深度学习计算单元库有不同的实现,比如CuDNN是针对英伟达计算平台设计的深度学习计算单元库,提供在英伟达计算平台上高效的神经网络基本运算。如果某个计算平台没有专门的深度学习计算单元库,需要根据计算平台的特点,定制一组神经网络基本运算的软件函数库,定制的难点是需要充分了解面向的计算平台的特点,高效地利用硬件平台特有的硬件资源,匹配算法和硬件资源的特性。深度学习计算单元库可实现卷积、非限定变换和下采样等基本算子,并针对嵌本文档来自技高网...
面向嵌入式系统的神经网络的映射方法及装置

【技术保护点】
一种面向嵌入式系统的神经网络的映射方法,其特征在于,包括以下步骤:建立所述神经网络结构,并获取所述神经网络的参数;根据所述神经网络结构和所述神经网络的参数生成描述所述神经网络的数据流图;获取深度学习计算单元库,并利用深度学习计算单元库实现神经网络的数据流图,以获取神经网络的实现程序。

【技术特征摘要】
1.一种面向嵌入式系统的神经网络的映射方法,其特征在于,包括以下步骤:建立所述神经网络结构,并获取所述神经网络的参数;根据所述神经网络结构和所述神经网络的参数生成描述所述神经网络的数据流图;获取深度学习计算单元库,并利用深度学习计算单元库实现神经网络的数据流图,以获取神经网络的实现程序。2.如权利要求1所述的方法,其特征在于,所述神经网络的参数通过神经网络的深度学习模型训练获取。3.如权利要求1所述的方法,其特征在于,所述数据流图的具有节点和边,所述方法还包括:将所述数据流图的节点映射到所述深度学习计算单元库,所述数据流图的边映射为所述节点的逻辑关系,以通过所述深度学习单元库获取神经网络的实现程序。4.如权利要求1或3所述的方法,其特征在于,所述深度学习计算单元库为适用于嵌入式系统的单元库。5.一种面向嵌入式系统的神经网络系统,其特征在于,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如权利要求1-...

【专利技术属性】
技术研发人员:俞波刘少山
申请(专利权)人:深圳普思英察科技有限公司
类型:发明
国别省市:广东,44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1