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

技术编号:37070174 阅读:18 留言:0更新日期:2023-03-29 19:47
公开了一种神经网络模型的编译方法、装置、存储介质及电子设备。该方法包括:获取待编译神经网络模型,待编译神经网络模型包括所对应的运算类型为第一运算的第一网络层,第一运算为修正线性单元(ReLU)运算的变体;基于第一网络层的层参数,将第一网络层的输入特征图的第一运算变换为第二运算,得到第二网络层,第二运算为神经网络加速器支持的运算;基于待编译神经网络模型中除第一网络层之外的网络层,以及第二网络层,通过编译处理生成目标神经网络模型。本公开的实施例能够在不进行数据搬移的前提下实现ReLU运算的变体,由此能够有效地节约带宽和时间,降低ReLU运算的变体的实现成本,同时还能够避免占用额外资源。同时还能够避免占用额外资源。同时还能够避免占用额外资源。

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


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

技术介绍

[0002]在一些情况下,芯片上部署的神经网络加速器不支持修正线性单元(Rectified linear unit,ReLU)运算的变体,而实际应用中存在某些神经网络模型运行时需要进行ReLU运算的变体,针对这种情况,目前的解决措施是:将需要进行ReLU运算的变体的数据搬移至中央处理器(Central Processing Unit,CPU)进行处理,再将CPU处理后得到的结果搬移回神经网络加速器,然而,这种解决措施中由于需要进行数据搬移,存在浪费带宽和时间,成本高的问题。

技术实现思路

[0003]为了解决上述技术问题,提出了本公开。本公开的实施例提供了一种神经网络模型的编译方法、装置、存储介质及电子设备。
[0004]根据本公开实施例的一个方面,提供了一种神经网络模型的编译方法,包括:
[0005]获取待编译神经网络模型,所述待编译神经网络模型包括所对应的运算类型为第一运算的第一网络层,所述第一运算为修正线性单元运算的变体;
[0006]基于所述第一网络层的层参数,将所述第一网络层的输入特征图的所述第一运算变换为第二运算,得到第二网络层,所述第二运算为神经网络加速器支持的运算;
[0007]基于所述待编译神经网络模型中除所述第一网络层之外的网络层,以及所述第二网络层,通过编译处理生成目标神经网络模型。
[0008]根据本公开实施例的另一个方面,提供了一种神经网络模型的编译装置,包括:
[0009]第一获取模块,用于获取待编译神经网络模型,所述待编译神经网络模型包括所对应的运算类型为第一运算的第一网络层,所述第一运算为修正线性单元运算的变体;
[0010]第二获取模块,用于基于所述第一获取模块获取的所述待编译神经网络模型中的所述第一网络层的层参数,将所述第一网络层的输入特征图的所述第一运算变换为第二运算,得到第二网络层,所述第二运算为神经网络加速器支持的运算;
[0011]生成模块,用于基于所述第一获取模块获取的所述待编译神经网络模型中除所述第一网络层之外的网络层,以及所述第二获取模块获取的所述第二网络层,通过编译处理生成目标神经网络模型。
[0012]根据本公开的再一个方面,提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序用于执行上述神经网络模型的编译方法。
[0013]根据本公开的又一个方面,提供了一种电子设备,所述电子设备包括:
[0014]处理器;
[0015]用于存储所述处理器可执行指令的存储器;
[0016]所述处理器,用于从所述存储器中读取所述可执行指令,并执行所述指令以实现上述神经网络模型的编译方法。
[0017]基于本公开上述实施例提供的神经网络模型的编译方法、装置、存储介质及电子设备,可以在对神经网络模型进行编译的过程中,将ReLU运算的变体变换为神经网络加速器支持的运算,这样,即便神经网络加速器不支持ReLU运算的变体,也能够通过与ReLU运算的变体等同的运算,间接实现ReLU运算的变体,因此,本公开的实施例能够在不进行数据搬移的前提下实现ReLU运算的变体,由此能够有效地节约带宽和时间,降低ReLU运算的变体的实现成本,同时还能够避免占用额外资源。
[0018]下面通过附图和实施例,对本公开的技术方案做进一步的详细描述。
附图说明
[0019]通过结合附图对本公开实施例进行更详细的描述,本公开的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本公开实施例的进一步理解,并且构成说明书的一部分,与本公开实施例一起用于解释本公开,并不构成对本公开的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
[0020]图1是本公开的实施例中实现ReLU运算的变体的原理图。
[0021]图2是本公开一示例性实施例提供的神经网络模型的编译方法的流程示意图。
[0022]图3是本公开另一示例性实施例提供的神经网络模型的编译方法的流程示意图。
[0023]图4

1是本公开一示例性实施例中第一卷积核集合的示意图。
[0024]图4

2是本公开一示例性实施例中第二运算的运算逻辑的示意图。
[0025]图4

3是本公开另一示例性实施例中第二运算的运算逻辑的示意图。
[0026]图5是本公开一示例性实施例提供的神经网络模型的编译装置的结构示意图。
[0027]图6是本公开另一示例性实施例提供的神经网络模型的编译装置的结构示意图。
[0028]图7是本公开再一示例性实施例提供的神经网络模型的编译装置的结构示意图。
[0029]图8是本公开又一示例性实施例提供的神经网络模型的编译装置的结构示意图。
[0030]图9是本公开一示例性实施例提供的电子设备的结构图。
具体实施方式
[0031]下面,将参考附图详细地描述根据本公开的示例实施例。显然,所描述的实施例仅仅是本公开的一部分实施例,而不是本公开的全部实施例,应理解,本公开不受这里描述的示例实施例的限制。
[0032]应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本公开的范围。
[0033]本领域技术人员可以理解,本公开实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等,既不代表任何特定技术含义,也不表示它们之间的必然逻辑顺序。
[0034]还应理解,在本公开实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
[0035]还应理解,对于本公开实施例中提及的任一部件、数据或结构,在没有明确限定或
者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
[0036]另外,本公开中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本公开中字符“/”,一般表示前后关联对象是一种“或”的关系。
[0037]还应理解,本公开对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
[0038]同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
[0039]以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本公开及其应用或使用的任何限制。
[0040]对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。
[0041]应注意到:相似的标号和字母在下面的附图本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种神经网络模型的编译方法,包括:获取待编译神经网络模型,所述待编译神经网络模型包括所对应的运算类型为第一运算的第一网络层,所述第一运算为修正线性单元运算的变体;基于所述第一网络层的层参数,将所述第一网络层的输入特征图的所述第一运算变换为第二运算,得到第二网络层,所述第二运算为神经网络加速器支持的运算;基于所述待编译神经网络模型中除所述第一网络层之外的网络层,以及所述第二网络层,通过编译处理生成目标神经网络模型。2.根据权利要求1所述的方法,其中,所述第一网络层的层参数中包括C个参数,C为所述输入特征图的通道数;所述基于所述第一网络层的层参数,将所述第一网络层的输入特征图的所述第一运算变换为第二运算,包括:分别确定所述C个参数中的每个参数与第一预设值两者中的较小值,得到与所述C个参数对应的C个较小值;分别确定所述C个较小值中的每个较小值与所述第一预设值两者的第一差值,得到与所述C个较小值对应的C个第一差值;基于所述C个第一差值,将所述第一网络层的输入特征图的所述第一运算变换为第二运算。3.根据权利要求2所述的方法,其中,所述基于所述C个第一差值,将所述第一网络层的输入特征图的所述第一运算变换为第二运算,包括:分别确定所述C个参数中的每个参数与所述第一预设值两者中的较大值,得到与所述C个参数对应的C个较大值;分别确定所述第一预设值与所述C个较大值中的每个较大值两者的第二差值,得到与所述C个较大值对应的C个第二差值;基于所述C个第一差值和所述C个第二差值,将所述第一网络层的输入特征图的所述第一运算变换为第二运算。4.根据权利要求3所述的方法,其中,所述基于所述C个第一差值和所述C个第二差值,将所述第一网络层的输入特征图的所述第一运算变换为第二运算,包括:基于所述C个第一差值和第二预设值,构建第一卷积核集合;基于所述C个第二差值和所述第二预设值,构建第二卷积核集合;基于C和所述第二预设值,构建第三卷积核集合;基于C、所述第二预设值和第三预设值,构建第四卷积核集合;基于所述第一卷积核集合、所述第二卷积核集合、所述第三卷积核集合和所述第四卷积核集合,将所述第一网络层的输入特征图的所述第一运算变换为第二运算。5.根据权利要求4所述的方法,其中,所述第二预设值为1,所述第三预设值为

1,并且,将所述输入特征图的所述第一运算变换为所述第二运算所基于的卷积核集合满足以下至少一项:所述第一卷积核集合包括C个宽度为1、高度为1、通道数为C的卷积核,所述第一卷积核集合包括的C个卷积核中的第i个卷积核中的第i个元素为所述C个第一差值中的第i个第一差值,所述第一卷积核集合中的其余元素均为0;
所述第二卷积核集合包括C个宽度为1、高度为1、通道数为C的卷积核,所述第二卷积核集合包括的C个卷积核中的第j个卷积核中的第j个元素为所述C个第二差值中的第j个第二差值,所述第二卷积核集合中的其余元素均为0;所述第三卷积核集合包括C个宽度为1、高度为1、通道数为C的卷积核,所述第三卷积核集合包括的C个卷积核中的第s个卷积核中的第s个元素为1,所述第三卷积核集合中的其余元素均为0;所述第四卷积核集合包括C个宽度为1、高度为1、通道数为C的卷积核,所述第四卷积核集合包括的C个卷积核中的第t个卷积核中的第t个元素为

【专利技术属性】
技术研发人员:李德林王振江李建军
申请(专利权)人:北京地平线信息技术有限公司
类型:发明
国别省市:

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

1