神经网络处理方法、装置、电子设备及存储介质制造方法及图纸

技术编号:25837470 阅读:45 留言:0更新日期:2020-10-02 14:18
本发明专利技术涉及神经网络技术领域,提供一种神经网络处理方法、装置、电子设备及存储介质,所述方法包括:获取待处理的神经网络,其中,神经网络包括至少一个卷积层,每一卷积层对应输入特征图及卷积参数;依据每一卷积层的输入特征图及卷积参数确定该卷积层的拆分方式及该卷积层的数据复用方式;按照每一卷积层的拆分方式及数据复用方式,对神经网络的卷积运算进行拆分,得到神经网络的卷积运算的拆分结果。相对于现有技术,本发明专利技术实施例通过为每一卷积层确定该卷积层的拆分方式及该卷积层的数据复用方式,使得每一卷积层可以按照适合本卷积的输入特征图的拆分方式和数据复用方式进行卷积计算的拆分,由此提高了神经网络的计算加速效率。

【技术实现步骤摘要】
神经网络处理方法、装置、电子设备及存储介质
本专利技术涉及神经网络
,具体而言,涉及一种神经网络处理方法、装置、电子设备及存储介质。
技术介绍
现有神经网络加速器中,由于神经网络中网络层参数量较大,在对神经网络进行处理时,编译器往往需要对卷积层的特征图进行拆分,通过拆分并使用复用权重或特征图的数据复用方式,以实现将一个卷积层的卷积运算拆分成多个子运算,多个子运算分别独立计算,最终实现神经网络的加速运算。现有技术采用硬件实现特征图拆分及数据复用,但是这种实现方式对于神经网络的计算加速效率并不高。
技术实现思路
本专利技术实施例的目的在于提供一种神经网络处理方法、装置、电子设备及存储介质,其能够提高神经网络的计算加速效率。为了实现上述目的,本专利技术实施例采用的技术方案如下:第一方面,本实施例提供一种神经网络处理方法,所述方法包括:获取待处理的神经网络,其中,神经网络包括至少一个卷积层,每一卷积层对应输入特征图及卷积参数;依据每一卷积层的输入特征图及卷积参数确定该卷积层的拆分方式及该卷积层的数据复用方式;按照每一卷积层的拆分方式及数据复用方式,对神经网络的卷积运算进行拆分,得到神经网络的卷积运算的拆分结果。第二方面,本实施例提供一种神经网络处理装置,所述装置包括获取模块、确定模块及拆分模块,其中,获取模块,用于获取待处理的神经网络,其中,神经网络包括至少一个卷积层,每一卷积层对应输入特征图及卷积参数;确定模块,用于依据每一卷积层的输入特征图及卷积参数确定该卷积层的拆分方式及该卷积层的数据复用方式;拆分模块,用于按照每一卷积层的拆分方式及数据复用方式,对神经网络的卷积运算进行拆分,得到神经网络的卷积运算的拆分结果。第三方面,本实施例提供一种电子设备,所述电子设备包括:一个或多个处理器;存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如前述实施方式中任一项所述的神经网络处理方法。第四方面,本实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器运行时执行如前述实施方式中任一所述的神经网络处理方法。相对于现有技术,本专利技术实施例提供一种神经网络处理方法、装置、电子设备及存储介质,通过为每一卷积层确定该卷积层的拆分方式及该卷积层的数据复用方式,使得每一卷积层可以按照适合本卷积的输入特征图的拆分方式和数据复用方式进行卷积计算的拆分,由此提高了神经网络的计算加速效率。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1示出了本专利技术实施例提供的一种神经网络处理方法的流程图。图2示出了本专利技术实施例提供的另一种神经网络处理方法的流程图。图3示出了本专利技术实施例提供的另一种神经网络处理方法的流程图。图4示出了本专利技术实施例提供神经网络处理装置的结构框图。图5示出了本专利技术实施例提供的电子设备的方框示意图。图标:10-电子设备;11-存储器;12-通信接口;13-处理器;14-总线;100-神经网络处理装置;110-获取模块;120-确定模块;130-拆分模块;140-运算模块。具体实施方式为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本专利技术一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本专利技术实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本专利技术的实施例的详细描述并非旨在限制要求保护的本专利技术的范围,而是仅仅表示本专利技术的选定实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。在本专利技术的描述中,需要说明的是,若出现术语“上”、“下”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该专利技术产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本专利技术和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本专利技术的限制。此外,若出现术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。需要说明的是,在不冲突的情况下,本专利技术的实施例中的特征可以相互结合。现有神经网络加速器在对神经网络进行加速处理时,通常需要用编译器将神经网络进行编译,由于神经网络涉及到的网络层参数较多,导致在进行神经网络运算时运算的数据量超大,因此,编译器在编译时通常将神经网络的特征图进行拆分,将一个神经网络的运算拆分成多个子运算,多个子运算分别独立运算,最终实现整个神经网络的运算。现有技术中对特征图进行拆分时通常在硬件层面实现,通过拆分特征图并复用权重或者特征图,由此可以实现大尺寸特征图的卷积运算,但是这种加速方式存在加速效率不高的问题。专利技术人基于这一问题进行深入研究,发现硬件实现的拆分方式和数据复用方式是固定的,即不管对于那一层卷积层,都使用相同的拆分方式和数据复用方式,而每一层卷积层的输入特征图的大小往往是不相同的,针对不同大小的输入特征图采用相同的拆分方式,导致有些卷积层的拆分并不合理和高效。专利技术人还发现,不同的拆分方式及不同的复用方式对于运算的影响也不同,例如,当输入特征图数据量较大而权重数据量较小时,采用复用特征图、反复加载权重的复用方式,最终的整体数据加载量较少;当输入特征图较小而权重数据量较大时,采用复用权重、反复加载输入特征图的复用方式,最终的整体数据加载量较少。经过以上分析,专利技术人发现对于每一层卷积层采用相同的拆分方式和复用方式是导致神经网络加速效率不高的原因。基于这一问题产生的原因,专利技术人提出了一种神经网络处理方法、装置、电子设备及存储介质,通过为每一卷积层确定该卷积层的拆分方式及该卷积层的数据复用方式,使得每一卷积层可以按照适合本卷积的输入特征图的拆分方式和数据复用方式进行卷积计算的拆分,由此提高了神经网络的计算加速效率,下面将对此进行详细描述。请参考图1,图1示出了本专利技术实施例提供的一种神经网络处理方法的流程图,该方法包括以下步骤:步骤S101,获取待处理的神经网络,其中,神经网络包括至少一个卷积层,每一卷积层对应输入特征图及卷积参数。在本实施例中,神经网络NNs(NeuralNetworks,NNs)也称人工神经网络ANNs(ArtificialNeuralNetworks,ANNs)或称作连接模型(ConnectionMode本文档来自技高网...

【技术保护点】
1.一种神经网络处理方法,其特征在于,所述方法包括:/n获取待处理的神经网络,其中,所述神经网络包括至少一个卷积层,每一所述卷积层对应输入特征图及卷积参数;/n依据每一所述卷积层的输入特征图及卷积参数确定该卷积层的拆分方式及该卷积层的数据复用方式;/n按照每一所述卷积层的拆分方式及数据复用方式,对所述神经网络的卷积运算进行拆分,得到所述神经网络的卷积运算的拆分结果。/n

【技术特征摘要】
1.一种神经网络处理方法,其特征在于,所述方法包括:
获取待处理的神经网络,其中,所述神经网络包括至少一个卷积层,每一所述卷积层对应输入特征图及卷积参数;
依据每一所述卷积层的输入特征图及卷积参数确定该卷积层的拆分方式及该卷积层的数据复用方式;
按照每一所述卷积层的拆分方式及数据复用方式,对所述神经网络的卷积运算进行拆分,得到所述神经网络的卷积运算的拆分结果。


2.如权利要求1所述的神经网络处理方法,其特征在于,所述卷积参数包括权重及步长,所述依据每一所述卷积层的输入特征图及卷积参数确定该卷积层的拆分方式及该卷积层的数据复用方式的步骤包括:
对于所述神经网络中的任意一个目标卷积层进行如下处理:
依据所述目标卷积层的步长、权重的个数及输入特征图的大小确定所述目标卷积层的输出特征图的大小,其中,所述输出特征图为所述输入特征图经过所述目标卷积层的卷积运算得到;
按照预设拆分方式及预设数据复用方式对所述目标卷积层的输出特征图进行拆分,得到满足预设条件的所述目标卷积层的输出特征图的第一拆分方式及目标复用方式;
依据所述第一拆分方式确定所述目标卷积层的权重拆分方式及输入特征图的第二拆分方式;
将所述目标卷积层的权重拆分方式和所述第二拆分方式作为所述目标卷积层的拆分方式、并将所述目标复用方式作为所述目标卷积层的数据复用方式。


3.如权利要求2所述的神经网络处理方法,其特征在于,所述预设拆分方式为多个,所述预设数据复用方式为多个,所述预设条件包括第一预设条件及第二预设条件,所述按照预设拆分方式及预设数据复用方式对所述目标卷积层的输出特征图进行拆分,得到满足预设条件的所述目标卷积层的输出特征图的第一拆分方式及目标复用方式的步骤包括:
按照每一所述预设拆分方式分别对所述目标卷积层的输出特征图进行拆分,得到满足所述第一预设条件的多个初始拆分结果;
依据每一所述初始拆分结果从多个所述预设数据复用方式中确定对应的初始复用方式,并按照所述目标复用方式计算该初始拆分结果的数据重复加载量;
将满足所述第二预设条件的数据重复加载量对应的初始拆分结果的所述预设拆分方式作为第一拆分方式,并将满足所述第二预设条件的数据重复加载量对应的初始拆分结果的所述初始复用方式作为目标复用方式。


4.如权利要求3所述的神经网络处理方法,其特征在于,所述卷积参数还包括边界填充参数pad,所述按照每一所述预设拆分方式分别对所述目标卷积层的输出特征图进行拆分,得到满足所述第一预设条件的多个初始拆分结果的步骤包括:
按照所述多个预设拆分方式中任意一种目标拆分方式对所述目标卷积层的输出特征图进行拆分,得到一个满足所述第一预设条件的初始拆分结果的处理过程为:
按照所述目标拆分方式对所述目标卷积层的输出特征图进行拆分,得到所述输出特征图的拆分结果,其中,所述输出特征图的拆分结果包括所述输出特征图拆分后得到的输出特征子图的大小及所述输出特征子图的个数;
依据所述输出特征子图的大小、步长及pad,得到对应的所述输入特征图拆分后的输入特征子图的大小及所述权重拆分后的子权重的大小;
若任意一个所述输出特征子图的大小小于第一预设值、且任意一个所述输入特征子图的大小小于第二预设值、且任意一个所述子权重的大小小于第三预设值,则将所述输出特征图的拆分结果作为一个满足所述第一预设条件的初始拆分结果。


5.如权利要求3所述的神经网络处理方法,其特征在于,所述输出特征图包括通道维度、高度维度及宽度维度,每一所述初始拆分结果对应一个所述维度组合,所述预设数据复用方式...

【专利技术属性】
技术研发人员:曾华唐荔唐剑
申请(专利权)人:湖南国科微电子股份有限公司
类型:发明
国别省市:湖南;43

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

1