神经网络层分组方法、装置、设备、存储介质及程序产品制造方法及图纸

技术编号:28850390 阅读:32 留言:0更新日期:2021-06-11 23:55
一种神经网络层分组方法、装置、设备、存储介质及程序产品。方法包括根据第一分组规则对神经网络的层进行分组,得到多个第一分组(101);在第一分组中,根据预设有效性规则确定出无效分组(102);根据第二分组规则对无效分组进行二次分割,得到第二分组(103);在第二分组中,根据预设有效性规则确定出无效分组,并继续执行根据第二分组规则对无效分组进行二次分割的步骤(104);根据第一分组、第二分组确定出多种有效分组集合(105);根据预设规则对每个有效分组集合进行评分,并根据评分在有效分组集合中确定出目标分组集合(106)。该方案能够提高分组效率,且相较于人工手动分组来说,能够得到更多的分组方式,从而能够确定出最优的目标分组集合。

【技术实现步骤摘要】
【国外来华专利技术】神经网络层分组方法、装置、设备、存储介质及程序产品
本申请涉及神经网络领域,例如涉及一种神经网络层分组方法、装置、设备、存储介质及程序产品。
技术介绍
近年来,深度学习在图像识别、语音识别等所取得的成就使得人工智能成为了当下最热的领域,深度学习中的主要核心则是神经网络,而为了达到很高的图像识别、语音识别精度,神经网络的层(layer)数越来越深,这也对算力的要求也越来也大。为了适应神经网络高计算量的需求,各种神经网络处理器(或者称为AI芯片)被提出,而其中一类神经网络处理器采用了可软件管理的本地存储,通过软件调配神经网络的计算层在本地存储中计算,以达到高性能。而为了尽可能使得神经网络的layer都放置在本地存储计算,避免高开销的全局存储访问,研究开发者们往往会对神经网络的layer进行分组融合。现有的分组融合方案往往需要人为的指定可进行融合的layer组合类型,通过在网络中搜索是否存在这些组合,然后才能对可进行融合的layer进行合并。这样的技术方案虽然可以获得一定的效果,但人为的指定可融合的layer,效率较低;且神经网络的融合率较低,仍然存在大量地layer数据需要放置到全局存储中,神经网络处理器的性能开发率不高。上述
技术介绍
内容仅用于帮助理解本申请,而并不代表承认或认可所提及的任何内容属于相对于本申请的公知常识的一部分。
技术实现思路
本公开实施例第一方面提供了一种神经网络的层分组方法,包括:根据第一分组规则对神经网络的层进行分组,得到多个第一分组;在所述第一分组中,根据预设有效性规则确定出无效分组;根据第二分组规则对所述无效分组进行二次分割,得到第二分组;在所述第二分组中,根据预设有效性规则确定出无效分组,并继续执行根据第二分组规则对所述无效分组进行二次分割的步骤;根据所述第一分组、所述第二分组确定出多种有效分组集合;根据预设规则对每个所述有效分组集合进行评分,并根据所述评分在所述有效分组集合中确定出目标分组集合。本公开实施例第二方面提供了一种神经网络的层分组装置,包括:第一分组模块,用于根据第一分组规则对神经网络的层进行分组,得到多个第一分组;筛选模块,用于在所述第一分组中,根据预设有效性规则确定出无效分组;第二分组模块,用于根据第二分组规则对所述无效分组进行二次分割,得到第二分组;所述筛选模块还用于在所述第二分组中,根据预设有效性规则确定出无效分组,并且所述第二分组模块继续执行根据第二分组规则对所述无效分组进行二次分割的步骤;集合确定模块,用于根据所述第一分组、所述第二分组确定出多种有效分组集合;目标集合确定模块,用于根据预设规则对每个所述有效分组集合进行评分,并根据所述评分在所述有效分组集合中确定出目标分组集合。本公开实施例第三方面提供了一种计算机,包含上述的神经网络的层分组装置。本公开实施例第四方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令设置为执行上述的神经网络的层分组方法。本公开实施例第五方面提供了一种计算机程序产品,所述计算机程序产品包括存储在计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述的神经网络的层分组方法。本公开实施例第六方面提供了一种电子设备,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行时,使所述至少一个处理器执行上述的神经网络的层分组方法。本公开实施例提供的神经网络层分组方法、装置、设备、存储介质及程序产品,包括根据第一分组规则对神经网络的层进行分组,得到多个第一分组;在第一分组中,根据预设有效性规则确定出无效分组;根据第二分组规则对无效分组进行二次分割,得到第二分组;在第二分组中,根据预设有效性规则确定出无效分组,并继续执行根据第二分组规则对无效分组进行二次分割的步骤;根据第一分组、第二分组确定出多种有效分组集合;根据预设规则对每个有效分组集合进行评分,并根据评分在有效分组集合中确定出目标分组集合。本公开实施例提供的方案,能够基于预设分组规则对神经网络中的层进行分组,并根据有效性规则对得到的分组进行校验,并对检验得到的无效分组进行二次分割,从而得到多个有效分组集合;再在有效分组集合中确定出能够最大限度提高设备性能的目标分组集合,因此,本实施例提供的方案能够提高分组效率,且相较于人工手动分组来说,能够得到更多的分组方式,从而能够确定出最优的目标分组集合。附图说明一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,附图不构成比例限制,并且其中:图1为本专利技术一示例性实施例示出的神经网络的层分组方法的流程图;图2为本专利技术另一示例性实施例示出的神经网络的层分组方法的流程图;图2A为本专利技术一示例性实施例示出的确定无效分组的流程图;图2B为本专利技术一示例性实施例示出的分组运行时所占用的内存是否大于运行神经网络的处理器内存的流程图;图2C为本专利技术一示例性实施例示出的根据预设规则对每个有效分组集合进行评分的流程图;图3为本专利技术一示例性实施例示出的神经网络的层分组装置的结构图;图4为本专利技术另一示例性实施例示出的一种神经网络的层分组装置的结构图;图5为本专利技术一示例性实施例示出的电子设备的结构图。具体实施方式为了能够更加详尽地了解本公开实施例的特点与
技术实现思路
,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或多个实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。图像识别、语音识别等技术的识别精度越高,其采用的神经网络的层数就越多,对处理设备的算力要求也就越高,为了提高设备在处理神经网络时的性能,可以对神经网络中的层进行分组,再以组为单位对神经网络进行处理。但是,若仅根据人工指定的方式对层进行分组,则会导致分组效率低的问题,且这种分组方式,神经网络中的各个层融合率低,无法有效的提高设备性能。本公开提供的方案中,设置有分组规则以及有效性规则,能够基于分组规则对神经网络的层进行分组,基于有效性规则对得到的分组进行检验,能够提高分组效率,而且能够基于分组规则对神经网络进行多种方式的分组,得到多种分组结果,从而再在其中确定出有效提高设备性能的分组方式。图1为本专利技术一示例性实施例示出的神经网络的层分组方法的流程图。如图1所示,本实施例提供的神经网络的层分组方法包括:步骤101,根据第一分组规则对神经网络的层进行分组,得到多个第一分组。其中,本文档来自技高网
...

【技术保护点】
一种神经网络的层分组方法,其特征在于,包括:/n根据第一分组规则对神经网络的层进行分组,得到多个第一分组;/n在所述第一分组中,根据预设有效性规则确定出无效分组;/n根据第二分组规则对所述无效分组进行二次分割,得到第二分组;/n在所述第二分组中,根据预设有效性规则确定出无效分组,并继续执行根据第二分组规则对所述无效分组进行二次分割的步骤;/n根据所述第一分组、所述第二分组确定出多种有效分组集合;/n根据预设规则对每个所述有效分组集合进行评分,并根据所述评分在所述有效分组集合中确定出目标分组集合。/n

【技术特征摘要】
【国外来华专利技术】一种神经网络的层分组方法,其特征在于,包括:
根据第一分组规则对神经网络的层进行分组,得到多个第一分组;
在所述第一分组中,根据预设有效性规则确定出无效分组;
根据第二分组规则对所述无效分组进行二次分割,得到第二分组;
在所述第二分组中,根据预设有效性规则确定出无效分组,并继续执行根据第二分组规则对所述无效分组进行二次分割的步骤;
根据所述第一分组、所述第二分组确定出多种有效分组集合;
根据预设规则对每个所述有效分组集合进行评分,并根据所述评分在所述有效分组集合中确定出目标分组集合。


根据权利要求1所述的方法,其特征在于,所述根据第一分组规则对神经网络的层进行分组,得到多个第一分组,包括:
遍历所述神经网络的层,确定出属于预设类型的目标层,将每个所述目标层确定为一个所述第一分组;
根据包括所述目标层的第一分组、所述神经网络的层的顺序,对所述目标层以外的层进行分组,得到其他所述第一分组。


根据权利要求2所述的方法,其特征在于,根据包括所述目标层的第一分组、所述神经网络的层的顺序,对所述目标层以外的层进行分组,包括:
将所述神经网络中第一个所述目标层之前的所有层分为一个所述第一分组;
将每两个相邻的所述目标层之间的所有层分为一个所述第一分组;
将最后一个所述目标层之后的所有层分为一个所述第一分组。


根据权利要求1或2所述的方法,其特征在于,所述根据预设有效性规则确定出无效分组,包括:
确定分组内层间数据流转方向是否为闭环;
确定所述分组运行时所占用的内存是否大于运行所述神经网络的处理器内存;
若所述分组内层间数据流转方向是闭环,或所述分组运行时所占用的内存大于或等于所述处理器内存,则确定所述分组为所述无效分组。


根据权利要求4所述的方法,其特征在于,所述确定所述分组运行时所占用的内存是否大于运行所述神经网络的处理器内存,包括:
根据预设分割规则对分组数据进行分割得到分割数据;
判断所述分割数据能否支持所述分组中的层进行计算,若否,则确定所述分组为无效分组。


根据权利要求5所述的方法,其特征在于,若所述分割数据能支持所述分组中的层进行计算,则所述方法还包括:
根据每个所述分组的所述分割数据确定出各个分组的各层输入数据格式、输出数据格式;
根据各层所述输入数据格式、所述输出数据格式再次确定所述分组是否为无效分组。


根据权利要求6所述的方法,其特征在于,所述根据每个所述分组的所述分割数据确定出各个分组的各层输入数据格式、输出数据格式,包括:
根据所述神经网络的层顺序,确定出分组的各个层的顺序;
根据所述各个层的顺序确定出产生数据层和消费数据层的组合对;
根据所述消费数据层的输出数据格式,确定所述消费数据层的输入数据格式,根据所述消费数据层的输入数据格式确定所述产生数据层的输出数据格式。


根据权利要求6或7所述的方法,其特征在于,所述根据各层所述输入数据格式、所述输出数据格式再次确定所述分组是否为无效分组,包括:
若相同数据对应的格式不同,则确定所述分组为无效分组。


根据权利要求6所述的方法,其特征在于,若根据所述输入数据格式、所述输出数据格式确定所述分组不是无效分组,则所述方法还包括:
根据预设时间安排确定所述分组中层间产生的待存储数据在所述处理器内存占用空间的时间段;
确定出已被分配至所述处理器内存中的已有数据,并在所述已有数据中确定出与所述待存储数据的时间段冲突的冲突数据;
根据所述冲突数据确定出所述处理器内存中的可分配空间,并根据所述可分配空间判断能否为所述待存储数据分配存储空间;
若不能,则继续执行所述根据预设规则对所述分组数据进行分割得到分割数据的步骤。


根据权利要求9所述的方法,其特征在于,所述根据预设时间安排确定所述分组中层间产生的待存储数据在所述处理器内存占用空间的时间段,包括:
根据所述预设时间安排确定所述分组中各个层产生待存储数据、消费所述待存储数据的时间步;
根据所述时间步确定出所述待存储数据在所述处理器内存占用空间的时间段。


根据权利要求9所述的方法,其特征在于,所述根据所述冲突数据确定出所述处理器内存中的可分配空间,包括:
获取所述冲突数据在所述处理器内存中的占用位置,根据所述占用位置在所述处理器内存中确定出可分配空间。


根据权利要求9所述的方法,其特征在于,所述根据所述可分配空间判断能否为所述待存储数据分配存储空间,包括:
根据所述处理器的运行规则确定出所述分组运行过程中,搬运所述分组的输入数据所占的第一分块;
根据所述第一分块、所述可分配空间确定剩余空间,并根据所述剩余空间确定能否为所述待存储数据分配存储空间。


根据权利要求9所述的方法,其特征在于,若判断能为所述待存储数据分配存储空间,则确定所述分组为有效分组。


根据权利要求1-3、5-7、9-13任一项所述的方法,其特征在于,所述有效分组集合中包括多个有效的分组,且所述有效分组集合中包括所述神经网络的所有层,且所述层不重复。


根据权利要求11所述的方法,其特征在于,所述根据预设规则对每个所述有效分组集合进行评分,包括:
确定所述有效分组集合对应的对所述分组数据进行计算所花费的计算时间;
确定所述有效分组集合中,每个分组对应的搬运所述分组的输入数据所花费的搬运时间;
根据所述计算时间、所述搬运时间确定所述有效分组集合的所述评分。


根据权利要求15所述的方法,其特征在于,所述根据所述计算时间、所述搬运时间确定所述有效分组集合的所述评分,包括:
将所述计算时间、所述搬运时间之和确定为所述评分;
所述根据所述评分在所述有效分组集合中确定出目标分组集合,包括:
将所述评分最低的所述有效分组集合确定为所述目标分组集合。


一种神经网络的层分组装置,其特征在于,包括:
第一分组模块,用于根据第一分组规则对神经网络的层进行分组,得到多个第一分组;
筛选模块,用于在所述第一分组中,根据预设有效性规则确定出无效分组;
第二...

【专利技术属性】
技术研发人员:蒋国跃
申请(专利权)人:北京比特大陆科技有限公司
类型:发明
国别省市:北京;11

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

1