确定最优计算模板的方法和装置制造方法及图纸

技术编号:28750275 阅读:12 留言:0更新日期:2021-06-09 10:14
本申请公开了一种确定最优计算模板的方法和装置,属于神经网络技术领域。该方法包括:基于目标计算层的张量算式,确定目标计算层对应的各种计算模板,在各种计算模板中,确定满足预设的本设备的硬件限制条件的目标计算模板,基于每种目标计算模板,对张量算式进行编译和模拟运行,并确定每种目标计算模板的运行时间,将运行时间最小的目标计算模板,确定为最优计算模板。本申请通过预先设置本设备的硬件限制条件,在目标计算层对应的各种计算模板中,确定满足预设的本设备的硬件限制条件的目标计算模板,排除了部分不合理组合,避免了不合理组合编译运行的时间的耗费,缩短了时间。缩短了时间。缩短了时间。

【技术实现步骤摘要】
确定最优计算模板的方法和装置


[0001]本申请涉及神经网络
,特别涉及一种确定最优计算模板的方法和装置。

技术介绍

[0002]一个神经网络通常由多个计算层组成,张量算式是指可以用数学计算关系来表示各计算层,如全连接层可以由A(M,K)和B(K,N)矩阵的点乘表示。神经网络利用张量算式编译生成高性能的计算指令时,需要确定最优计算模板,其中,计算模板可以由一段定义模板参数的程序代码实现。
[0003]在确定最优计算模板的过程中,需要对不同的计算模板进行进行编译和模拟运行,将运行时间最小的计算模板,确定为最优计算模板,从而编译生成最优计算指令。
[0004]然而,专利技术人发现:
[0005]当需要编译和模拟运行的计算模板的很多时,对所有的计算模板进行编译和模拟运行非常耗时,导致确定最优计算模板的效率较低。

技术实现思路

[0006]本申请实施例提供了一种确定最优计算模板的方法和装置,能够解决相关技术中耗费时间较长的问题。所述技术方案如下:
[0007]一方面,提供了一种确定最优计算模板的方法,所述方法包括:
[0008]基于目标计算层的张量算式,确定所述目标计算层对应的各种计算模板;
[0009]在所述各种计算模板中,确定满足与本设备对应的预设硬件限制条件的目标计算模板;
[0010]基于每种目标计算模板,对所述张量算式进行编译和模拟运行,并确定每种目标计算模板的运行时间;
[0011]将运行时间最小的目标计算模板,确定为最优计算模板。
[0012]可选的,所述基于目标计算层的张量算式,确定所述目标计算层对应的各种计算模板,包括:
[0013]获取所述目标计算层对应的模板参数,所述模板参数包括线程块尺寸;
[0014]基于所述模板参数的不同取值,确定所述目标计算层对应的各种计算模板。
[0015]可选的,所述模板参数还包括是否展开循环或循环执行顺序。
[0016]可选的,所述硬件限制条件包括:计算模板中线程块尺寸的取值对应的线程数小于或等于预设的线程数上限。
[0017]可选的,所述本设备的硬件限制条件还包括:计算模板中线程块尺寸的取值对应的存储空间容量小于或等于预设的存储空间容量上限。
[0018]可选的,所述基于每种目标计算模板,对所述张量算式进行编译和模拟运行,并确定每种目标计算模板的运行时间,包括:
[0019]对于每种目标计算模板,基于所述目标计算模板,对所述张量算式进行编译,生成
所述张量算式的程序代码,获取所述张量算式中各未知参数的模拟运行数据,基于所述各未知参数的模拟运行数据,运行所述程序代码,确定所述目标计算模板对应的运行时间。
[0020]可选的,所述将运行时间最小的目标计算模板,确定为最优计算模板之后,还包括:
[0021]基于所述最优计算模板,对所述张量算式进行编译,生成最优计算指令;
[0022]基于所述最优计算指令,进行图像识别处理。
[0023]另一方面,提供了一种确定最优计算模板的装置,所述装置包括:
[0024]计算模板确定模块,用于基于目标计算层的张量算式,确定所述目标计算层对应的各种计算模板;
[0025]目标计算模板确定模块,用于在所述各种计算模板中,确定满足与本设备对应的预设硬件限制条件的目标计算模板;
[0026]运行时间确定模块,用于基于每种目标计算模板,对所述张量算式进行编译和模拟运行,并确定每种目标计算模板的运行时间;
[0027]最优计算模板确定模块,用于将运行时间最小的目标计算模板,确定为最优计算模板。
[0028]可选的,所述计算模板确定模块,还用于:
[0029]获取所述目标计算层对应的模板参数,所述模板参数包括线程块尺寸;
[0030]基于所述模板参数的不同取值,确定所述目标计算层对应的各种计算模板。
[0031]可选的,所述模板参数还包括是否展开循环或循环执行顺序。
[0032]可选的,所述硬件限制条件包括:计算模板中线程块尺寸的取值对应的线程数小于或等于预设的线程数上限。
[0033]可选的,所述本设备的硬件限制条件还包括:计算模板中线程块尺寸的取值对应的存储空间容量小于或等于预设的存储空间容量上限。
[0034]可选的,所述运行时间确定模块,还用于:
[0035]对于每种目标计算模板,基于所述目标计算模板,对所述张量算式进行编译,生成所述张量算式的程序代码,获取所述张量算式中各未知参数的模拟运行数据,基于所述各未知参数的模拟运行数据,运行所述程序代码,确定所述目标计算模板对应的运行时间。
[0036]可选的,所述装置还包括:
[0037]生成模块,用于基于所述最优计算模板,对所述张量算式进行编译,生成最优计算指令;
[0038]处理模块,用于基于所述最优计算指令,进行图像识别处理。
[0039]再一方面,提供了一种计算机设备,所述计算机设备包括一个或多个处理器和一个或多个存储器,所述一个或多个存储器中存储有至少一条指令,所述指令由所述一个或多个处理器加载并执行以实现所述确定最优计算模板的方法所执行的操作。
[0040]再一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一条指令,所述指令由处理器加载并执行以实现所述确定最优计算模板的方法所执行的操作。
[0041]本申请实施例提供的技术方案带来的有益效果是:
[0042]通过预先设置本设备的硬件限制条件,在目标计算层对应的各种计算模板中,确
定满足预设的本设备的硬件限制条件的目标计算模板,对每种目标计算模板进行编译和运行,并确定每种目标计算模板的运行时间,将运行时间最小的目标计算模板,确定为最优计算模板。本申请实施例通过添加硬件限制条件,排除了部分不合理计算模板,无需对不合理计算模板进行编译运行,确定最优计算模板的效率较高。
附图说明
[0043]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0044]图1是本申请实施例提供的一种确定最优计算模板的方法的流程图;
[0045]图2是本申请实施例提供的一种全连接层的张量算式的输出矩阵示意图;
[0046]图3是本申请实施例提供的一种全连接层的张量算式的线程块示意图;
[0047]图4是本申请实施例提供的一种线程块覆盖输出矩阵的示意图;
[0048]图5是本申请实施例提供的一种确定最优计算模板的流程图;
[0049]图6是本申请实施例提供的一种确定最优计算模板的装置结构示意图;
[0050]图7是本申请实施例提供的一种终端的结构框图;
[0051]图8是本申请本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种确定最优计算模板的方法,其特征在于,所述方法包括:基于目标计算层的张量算式,确定所述目标计算层对应的各种计算模板;在所述各种计算模板中,确定满足与本设备对应的预设硬件限制条件的目标计算模板;基于每种目标计算模板,对所述张量算式进行编译和模拟运行,并确定每种目标计算模板的运行时间;将运行时间最小的目标计算模板,确定为最优计算模板。2.根据权利要求1所述的方法,其特征在于,所述基于目标计算层的张量算式,确定所述目标计算层对应的各种计算模板,包括:获取所述目标计算层对应的模板参数,所述模板参数包括线程块尺寸;基于所述模板参数的不同取值,确定所述目标计算层对应的各种计算模板。3.根据权利要求2所述的方法,其特征在于,所述模板参数还包括是否展开循环或循环执行顺序。4.根据权利要求2所述的方法,其特征在于,所述硬件限制条件包括:计算模板中线程块尺寸的取值对应的线程数小于或等于预设的线程数上限。5.根据权利要求2所述的方法,其特征在于,所述本设备的硬件限制条件还包括:计算模板中线程块尺寸的取值对应的存储空间容量小于或等于预设的存储空间容量上限。6.根据权利要求1所述的方法,其特征在于,所述基于每种目标计算模板,对所述张量算式进行编译和模拟运行,并确定每种目标计算模板的运行时间,包括:对于每种目标计算模板,基于所述目标计算模板,对所述张量算式进行编译,生成所述张量算式的程序代码,获取所述张量算式中各未知参数的模拟运行数据,基于所述各未知参数的模拟运行数据,运行所述程序代码,确定所述目标计算模板对应的运行时间。7.根据权利要求1所述的方法,其特征在于,所述将运行时间最小的目标计算模板,确定为最优计算模板之后,还包括:基于所述最优计算模板,对所述张量算式进行编译,生成最优计算指令;基于所述最优计算指令,进行图像识别处理...

【专利技术属性】
技术研发人员:陈良叶挺群
申请(专利权)人:杭州海康威视数字技术股份有限公司
类型:发明
国别省市:

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

1