[发明专利]确定最优计算模板的方法和装置有效
申请号: | 201911232364.1 | 申请日: | 2019-12-05 |
公开(公告)号: | CN112926168B | 公开(公告)日: | 2023-05-09 |
发明(设计)人: | 陈良;叶挺群 | 申请(专利权)人: | 杭州海康威视数字技术股份有限公司 |
主分类号: | G06F30/20 | 分类号: | G06F30/20;G06F8/41;G06N3/0464;G06V10/82 |
代理公司: | 北京三高永信知识产权代理有限责任公司 11138 | 代理人: | 李珂珂 |
地址: | 310051 浙*** | 国省代码: | 浙江;33 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 确定 最优 计算 模板 方法 装置 | ||
本申请公开了一种确定最优计算模板的方法和装置,属于神经网络技术领域。该方法包括:基于目标计算层的张量算式,确定目标计算层对应的各种计算模板,在各种计算模板中,确定满足预设的本设备的硬件限制条件的目标计算模板,基于每种目标计算模板,对张量算式进行编译和模拟运行,并确定每种目标计算模板的运行时间,将运行时间最小的目标计算模板,确定为最优计算模板。本申请通过预先设置本设备的硬件限制条件,在目标计算层对应的各种计算模板中,确定满足预设的本设备的硬件限制条件的目标计算模板,排除了部分不合理组合,避免了不合理组合编译运行的时间的耗费,缩短了时间。
技术领域
本申请涉及神经网络技术领域,特别涉及一种确定最优计算模板的方法和装置。
背景技术
一个神经网络通常由多个计算层组成,张量算式是指可以用数学计算关系来表示各计算层,如全连接层可以由A(M,K)和B(K,N)矩阵的点乘表示。神经网络利用张量算式编译生成高性能的计算指令时,需要确定最优计算模板,其中,计算模板可以由一段定义模板参数的程序代码实现。
在确定最优计算模板的过程中,需要对不同的计算模板进行进行编译和模拟运行,将运行时间最小的计算模板,确定为最优计算模板,从而编译生成最优计算指令。
然而,发明人发现:
当需要编译和模拟运行的计算模板的很多时,对所有的计算模板进行编译和模拟运行非常耗时,导致确定最优计算模板的效率较低。
发明内容
本申请实施例提供了一种确定最优计算模板的方法和装置,能够解决相关技术中耗费时间较长的问题。所述技术方案如下:
一方面,提供了一种确定最优计算模板的方法,所述方法包括:
基于目标计算层的张量算式,确定所述目标计算层对应的各种计算模板;
在所述各种计算模板中,确定满足与本设备对应的预设硬件限制条件的目标计算模板;
基于每种目标计算模板,对所述张量算式进行编译和模拟运行,并确定每种目标计算模板的运行时间;
将运行时间最小的目标计算模板,确定为最优计算模板。
可选的,所述基于目标计算层的张量算式,确定所述目标计算层对应的各种计算模板,包括:
获取所述目标计算层对应的模板参数,所述模板参数包括线程块尺寸;
基于所述模板参数的不同取值,确定所述目标计算层对应的各种计算模板。
可选的,所述模板参数还包括是否展开循环或循环执行顺序。
可选的,所述硬件限制条件包括:计算模板中线程块尺寸的取值对应的线程数小于或等于预设的线程数上限。
可选的,所述本设备的硬件限制条件还包括:计算模板中线程块尺寸的取值对应的存储空间容量小于或等于预设的存储空间容量上限。
可选的,所述基于每种目标计算模板,对所述张量算式进行编译和模拟运行,并确定每种目标计算模板的运行时间,包括:
对于每种目标计算模板,基于所述目标计算模板,对所述张量算式进行编译,生成所述张量算式的程序代码,获取所述张量算式中各未知参数的模拟运行数据,基于所述各未知参数的模拟运行数据,运行所述程序代码,确定所述目标计算模板对应的运行时间。
可选的,所述将运行时间最小的目标计算模板,确定为最优计算模板之后,还包括:
基于所述最优计算模板,对所述张量算式进行编译,生成最优计算指令;
基于所述最优计算指令,进行图像识别处理。
另一方面,提供了一种确定最优计算模板的装置,所述装置包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于杭州海康威视数字技术股份有限公司,未经杭州海康威视数字技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911232364.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种甲醇制取芳烃化合物的方法
- 下一篇:一种高速公路路况监测预警装置