神经网络模型的编译方法、装置、电子设备和存储介质制造方法及图纸

技术编号:33622549 阅读:15 留言:0更新日期:2022-06-02 00:47
本公开实施例公开了一种神经网络模型的编译方法、装置、电子设备和存储介质,其中,方法包括:确定待编译神经网络模型在预设网络层对应的中间表示;基于中间表示,确定第一目标层;基于预设运算,对第一目标层的第一输入张量和第二输入张量进行处理,得到第一目标层对应的第一处理层;预设运算至少包括卷积运算;基于第一目标层对应的第一处理层,获得中间表示对应的优化模型;将优化模型编译为待编译神经网络模型对应的二进制的目标模型。本公开实施例基于卷积运算实现按元素取最大值及按元素取最小值运算,使得神经网络模型的按元素取最大值及按元素取最小值运算能够通过加速器硬件实现,有效提高模型推理速度,从而提高数据处理效率。据处理效率。据处理效率。

【技术实现步骤摘要】
神经网络模型的编译方法、装置、电子设备和存储介质


[0001]本公开涉及人工智能技术,尤其是一种神经网络模型的编译方法、装置、电子设备和存储介质。

技术介绍

[0002]随着人工智能的飞速发展,一系列轻量级神经网络模型逐渐被用在手机、PC(个人计算机)、车载设备等移动终端上,以实现物体检测、分类等机器学习任务。在这些神经网络模型中,有一些模型会包含按元素取最值层,比如按元素取最大值层(即elementwise min层)、按元素取最小值层(即elementwise max层),需要对该层的两个输入张量进行按元素取最小值或按元素取最大值,为了提高神经网络的推理速度,通常采用专门加速芯片(或加速器)来实现神经网络的运算,但是现有的加速芯片通常不支持按元素取最值运算,导致模型数据处理效率较低。因此,如何基于芯片实现按元素取最值运算,以进一步提高神经网络的推理速度,成为一种亟需解决的技术问题。

技术实现思路

[0003]为了解决上述加速芯片不支持按元素取最值运算的技术问题,提出了本公开。本公开的实施例提供了一种神经网络模型的编译方法和装置、电子设备和存储介质。
[0004]根据本公开实施例的一个方面,提供了一种神经网络模型的编译方法,包括:确定待编译神经网络模型在预设网络层对应的中间表示;基于所述中间表示,确定第一目标层;基于预设运算,对所述第一目标层的第一输入张量和第二输入张量进行处理,得到所述第一目标层对应的第一处理层;所述预设运算至少包括卷积运算;基于所述第一目标层对应的所述第一处理层,获得所述中间表示对应的优化模型;将所述优化模型编译为所述待编译神经网络模型对应的二进制的目标模型。
[0005]根据本公开实施例的另一个方面,提供了一种神经网络模型的编译装置,包括:第一确定模块,用于确定待编译神经网络模型在预设网络层对应的中间表示;第二确定模块,用于基于所述中间表示,确定第一目标层;第一处理模块,用于基于预设运算,对所述第一目标层的第一输入张量和第二输入张量进行处理,得到所述第一目标层对应的第一处理层;所述预设运算至少包括卷积运算;第二处理模块,用于基于所述第一目标层对应的所述第一处理层,获得所述中间表示对应的优化模型;编译模块,用于将所述优化模型编译为所述待编译神经网络模型对应的二进制的目标模型。
[0006]根据本公开实施例的再一方面,提供一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行本公开上述任一实施例所述的神经网络模型的编译方法。
[0007]根据本公开实施例的又一方面,提供一种电子设备,所述电子设备包括:处理器;用于存储所述处理器可执行指令的存储器;所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现本公开上述任一实施例所述的神经网络模型的编译方
法。
[0008]基于本公开上述实施例提供的神经网络模型的编译方法和装置、电子设备和存储介质,通过将神经网络模型中的按元素取最大值、按元素取最小值等网络层中的至少一层,转换为卷积运算,使得模型的按元素取最大值、按元素取最小值等运算能够通过加速器硬件实现,有效提高模型推理速度,从而提高数据处理效率。
[0009]下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
[0010]通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
[0011]图1是本公开提供的神经网络模型的编译方法的一个示例性的应用场景;
[0012]图2是本公开一示例性实施例提供的神经网络模型的编译方法的流程示意图;
[0013]图3是本公开一个示例性实施例提供的步骤203的流程示意图;
[0014]图4是本公开一示例性实施例提供的按元素相加运算的原理示意图;
[0015]图5是本公开另一个示例性实施例提供的步骤203的流程示意图;
[0016]图6是本公开一示例性实施例提供的第一预设卷积核的示意图;
[0017]图7是本公开一示例性实施例提供的按元素取最大值运算的优化原理示意图;
[0018]图8是本公开再一个示例性实施例提供的步骤203的流程示意图;
[0019]图9是本公开一示例性实施例提供的按元素取最小值运算的优化原理示意图;
[0020]图10是本公开一示例性实施例提供的步骤202的流程示意图;
[0021]图11是本公开一示例性实施例提供的神经网络模型的编译装置的结构示意图;
[0022]图12是本公开一示例性实施例提供的第一处理模块503的结构示意图;
[0023]图13是本公开另一示例性实施例提供的第一处理模块503的结构示意图;
[0024]图14是本公开又一示例性实施例提供的第一处理模块503的结构示意图;
[0025]图15是本公开一示例性实施例提供的基于包含sumin的卷积计算单元实现按元素取最大值运算的原理示意图;
[0026]图16是本公开一示例性实施例提供的基于包含sumin的卷积计算单元实现按元素取最小值运算的原理示意图;
[0027]图17是本公开一示例性实施例提供的第二确定模块502的流程示意图;
[0028]图18是本公开电子设备一个应用实施例的结构示意图。
具体实施方式
[0029]下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
[0030]应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
[0031]本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
[0032]还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
[0033]还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
[0034]另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0035]还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
[0036]同时,应当明白,为了便于描述,附图中所示出的本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络模型的编译方法,包括:确定待编译神经网络模型在预设网络层对应的中间表示;基于所述中间表示,确定第一目标层;基于预设运算,对所述第一目标层的第一输入张量和第二输入张量进行处理,得到所述第一目标层对应的第一处理层;所述预设运算至少包括卷积运算;基于所述第一目标层对应的所述第一处理层,获得所述中间表示对应的优化模型;将所述优化模型编译为所述待编译神经网络模型对应的二进制的目标模型。2.根据权利要求1所述的方法,其中,所述预设运算包括第一卷积运算、第一按元素相加运算、第二卷积运算和第二按元素相加运算;所述基于预设运算,对所述第一目标层的第一输入张量和第二输入张量进行处理,得到所述第一目标层对应的第一处理层,包括:对所述第二输入张量进行第一卷积运算,获得第一结果;对所述第一结果与所述第一输入张量进行第一按元素相加运算,获得第二结果;对所述第二结果进行第二卷积运算,获得第三结果;对所述第三结果与所述第二输入张量或所述第一输入张量进行第二按元素相加运算,获得第四结果;将所述第四结果作为所述第一目标层对应的输出结果,得到所述第一目标层对应的所述第一处理层。3.根据权利要求1所述的方法,其中,所述第一目标层为按元素取最大值层;所述基于预设运算,对所述第一目标层的第一输入张量和第二输入张量进行处理,得到所述第一目标层对应的第一处理层,包括:基于第一预设卷积核及第一偏置参数对所述第二输入张量进行卷积运算,获得所述第二输入张量对应的第一张量;所述第一偏置参数根据所述第二输入张量的特征元素所属的数值类型的取值范围及第一规则确定;将所述第一张量与所述第一输入张量进行按元素相加运算,获得第二张量;基于第二预设卷积核及第二偏置参数对所述第二张量进行卷积运算,获得所述第二张量对应的第三张量,所述第二偏置参数根据所述第二输入张量的特征元素所属的数值类型的取值范围及第二规则确定;将所述第三张量与所述第二输入张量进行按元素相加运算,获得第四张量;将所述第四张量作为所述第一输入张量和所述第二输入张量的按元素取最大值的结果,得到所述第一目标层对应的所述第一处理层。4.根据权利要求1所述的方法,其中,所述第一目标层为按元素取最小值层;所述基于预设运算,对所述第一目标层的第一输入张量和第二输入张量进行处理,得到所述第一目标层对应的第一处理层,包括:基于第三预设卷积核及第三偏置参数对所述第二输入张量进行卷积运算,获得所述第二输入张量对应的第五张量;所述第三偏置参数根据所述第二输入张量的特征元素所属的数值类型的取值范围及第三规则确定;将所述第五张量与所述第一输入张量进行按元素相加运算,获得第六张量;基于第四预设卷积核及第四偏置参数对...

【专利技术属性】
技术研发人员:邓博文李德林
申请(专利权)人:北京地平线机器人技术研发有限公司
类型:发明
国别省市:

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

1