生成指令序列的方法、执行神经网络运算的方法和装置制造方法及图纸

技术编号:21433623 阅读:32 留言:0更新日期:2019-06-22 12:21
公开了一种生成指令序列的方法、执行神经网络运算的方法和装置。其中,生成神经网络的指令序列的方法,包括:获取神经网络各层的属性数据;根据神经网络各层的属性数据,确定至少一个层级组及其拆分参数,所述层级组包括所述神经网络中的至少一个层,所述拆分参数包括至少一个预定维度和每个预定维度将被切分成的预定份数;以及,根据神经网络各层的属性数据、所述至少一个层级组的拆分参数,生成所述神经网络的指令序列。本申请实施例通过将神经网络中各层分组来实现该神经网络中各层的同时拆分计算,在存储器容量有限的情况下,能够在不增加硬件成本的前提下同时提高硬件执行神经网络运算的效率和处理能力。

【技术实现步骤摘要】
生成指令序列的方法、执行神经网络运算的方法和装置
本申请涉及人工智能
,尤其涉及一种应用于神经网络的生成指令序列的方法、执行神经网络运算的方法和装置。
技术介绍
神经网络已成功应用于图像处理、自动驾驶等诸多领域。在高速缓冲存储器容量有限的情况下,对于通过神经网络处理高分辨率图像的应用场景,因数据量巨大,硬件执行神经网络运算的效率低下且处理能力不足。因此,期望提供一种应用于神经网络的新的方法和装置,在存储器容量有限的情况下,能够以不增加硬件成本为前提来同时提高硬件执行神经网络运算的效率和处理能力。
技术实现思路
本申请的实施例提供了一种应用于神经网络的生成指令序列的方法和装置、执行神经网络运算的方法和装置。根据本申请的一个方面,提供了一种生成神经网络的指令序列的方法,包括:获取神经网络各层的属性数据;根据神经网络各层的属性数据,确定至少一个层级组及其拆分参数,所述层级组包括所述神经网络中的至少一个层,所述拆分参数包括至少一个预定维度和每个预定维度将被切分成的预定份数;以及根据神经网络各层的属性数据、所述至少一个层级组的拆分参数,生成所述神经网络的指令序列;其中,所述指令序列中包含所述本文档来自技高网...

【技术保护点】
1.一种生成神经网络的指令序列的方法,包括:获取神经网络各层的属性数据;根据神经网络各层的属性数据,确定至少一个层级组及其拆分参数,所述层级组包括所述神经网络中的至少一个层,所述拆分参数包括至少一个预定维度和每个预定维度将被切分成的预定份数;以及根据神经网络各层的属性数据、所述至少一个层级组的拆分参数,生成所述神经网络的指令序列;其中,所述指令序列中包含所述至少一个层级组中各层的运算操作指令,所述运算操作指令中的输出参数指示所述至少一个层级组的输出特征数据,所述至少一个层级组的输出特征数据由所述至少一个层级组的输出特征图在所述至少一个预定维度上划分成所述预定份数而得到;其中,所述确定至少一个层...

【技术特征摘要】
1.一种生成神经网络的指令序列的方法,包括:获取神经网络各层的属性数据;根据神经网络各层的属性数据,确定至少一个层级组及其拆分参数,所述层级组包括所述神经网络中的至少一个层,所述拆分参数包括至少一个预定维度和每个预定维度将被切分成的预定份数;以及根据神经网络各层的属性数据、所述至少一个层级组的拆分参数,生成所述神经网络的指令序列;其中,所述指令序列中包含所述至少一个层级组中各层的运算操作指令,所述运算操作指令中的输出参数指示所述至少一个层级组的输出特征数据,所述至少一个层级组的输出特征数据由所述至少一个层级组的输出特征图在所述至少一个预定维度上划分成所述预定份数而得到;其中,所述确定至少一个层级组及其拆分参数,包括:确定所述神经网络的前(i-1)层的具有最小运算操作开销的分组方式;以及基于所述神经网络的前(i-1)层的分组方式,确定所述神经网络的前i层的具有最小运算操作开销的分组方式,并且重复所述基于所述神经网络的前(i-1)层的分组方式,确定所述神经网络的前i层的具有最小运算操作开销的分组方式的步骤直到确定所述神经网络的具有最小运算操作开销的分组方式,从而获得与所述神经网络的具有最小运算操作开销的分组方式对应的至少一个层级组及其拆分参数,其中,i为2至n的整数,n是所述神经网络包括的层数。2.根据权利要求1所述的方法,其中,基于所述神经网络的前(i-1)层的分组方式,确定所述神经网络的前i层的具有最小运算操作开销的分组方式,包括:对于从s=max(1,i-m+1)到s=i的多个s值,计算包括第s层至第i层的层级组的运算操作开销;计算包括第s至i层的层级组的运算操作开销与前(s-1)层的运算操作开销的和,作为前i层的运算操作开销;从与所述多个s值对应的多个前i层的运算操作开销中,选取最小的运算操作开销,从而确定所述神经网络的前i层的具有最小运算操作开销的分组方式,其中,max是返回最大值的函数,m是层级组包括的最大层数。3.根据权利要求2所述的方法,其中,计算包括第s层至第i层的层级组的运算操作开销,包括:确定所述层级组的多个拆分参数及其对应的多个运算操作开销;以及选择最小的运算操作开销及其对应的拆分参数。4.根据权利要求3所述的方法,其中,确定所述层级组的多个拆分参数包括:根据预设的拆分参数和所述层级组中各层的属性数据,确定所述层级组需要使用的缓存大小;确定所述层级组需要使用的缓存大小是否超过高速缓冲存储器分配给所述神经网络的最大容量值;以及在所述层级组需要使用的缓存大小超过所述最大容量值时,调整所述拆分参数,直到所述层级组需要使用的缓存大小不超过所述最大容量值。5.根据权利要求1所述的方法,其中,神经网络中一层的属性数据包括该层的输入特征图参数、运算参数、以及表征该层输入特征图来源的源参数;生成所述神经网络的指令序列,包括:根据所述至少一个层级组中各层的输入特征图参数、运算参数以及所述至少一个层级组的拆分参数,确定所述至少一个层级组中各层每次运算操作的输入参数、输出参数、以及运算参数;根据所述至少一个层级组中各层的源参数、以及各层每次运算操作的输入参数和输出参数,确定所述至少一个层级组中各层每次运算操作的次序;以及按照所述至少一个层级组中各层每次运算操作的次序,利用所述至少一个层级组中各层每次运算操作的...

【专利技术属性】
技术研发人员:王振江李建军凌坤陈亮黄畅
申请(专利权)人:北京地平线机器人技术研发有限公司
类型:发明
国别省市:北京,11

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

1