[发明专利]硬件算子匹配方法及相关产品有效
申请号: | 201910473288.7 | 申请日: | 2019-05-31 |
公开(公告)号: | CN110210605B | 公开(公告)日: | 2023-04-07 |
发明(设计)人: | 周明君;方攀;陈岩 | 申请(专利权)人: | OPPO广东移动通信有限公司 |
主分类号: | G06N3/0464 | 分类号: | G06N3/0464;G06N3/063 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 郝传鑫;熊永强 |
地址: | 523860 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 硬件 算子 匹配 方法 相关 产品 | ||
本申请实施例公开了一种硬件算子匹配方法及相关产品,应用于电子设备,电子设备包括神经网络处理器NPU、控制器和模拟器,通过在所述NPU运行神经网络模型至第i层时,控制器确定第i层对应的多个参考硬件算子,模拟器模拟运行多个参考硬件算子,得到多个参考硬件算子对应的多个运行周期循环数,控制器确定多个运行周期循环数中最小值对应的目标硬件算子,控制器根据目标硬件算子执行第i层的运算,如此,可通过自动匹配得到满足神经网络模型中的运算功能、并且性能最优的硬件算子,减少人工开发量,减少开发时间,降低维护成本。
技术领域
本申请涉及人工智能技术领域,具体涉及一种硬件算子匹配方法及相关产品。
背景技术
在运行神经网络模型中的过程中,神经网络处理器(neural network processing unit,NPU)具有一套完整的指令集。通过指令集可以实现神经网络模型中的算子。当系统中存在一个以上的硬件算子可以支持同一种运算操作,需要选择一个最优的硬件算子,在现有技术中,选择硬件算子通常由人工测试并添加固定的规则来选择硬件算子。
但是,由于需要人工参与制定选择规则,当硬件算子的参数个数增多后,导致规则也随之变得更多更复杂,导致维护成本高。当需要添加更高性能的硬件算子时,也需要增加或修改现有规则,导致开发周期较长。因此,如何在运行神经网路模型的过程中提高选择硬件算子的效率的问题亟待解决。
发明内容
本申请实施例提供了一种硬件算子匹配方法及相关产品,可通过自动匹配得到满足神经网络模型中的运算功能、并且性能最优的硬件算子。
第一方面,本申请实施例提供了一种硬件算子匹配方法,应用于电子设备,所述电子设备包括神经网络处理器NPU、控制器和模拟器,所述方法包括:
在所述NPU运行神经网络模型至第i层时,所述控制器确定所述第i层对应的多个参考硬件算子,所述第i层为所述神经网络模型中的任意一层;
所述模拟器模拟运行所述多个参考硬件算子,得到所述多个参考硬件算子对应的多个运行周期循环数,每一参考硬件算子对应一个运行周期循环数;
所述控制器确定所述多个运行周期循环数中最小值对应的目标硬件算子;
所述控制器根据所述目标硬件算子执行所述第i层的运算。
第二方面,本申请实施例提供了一种硬件算子匹配装置,应用于电子设备,所述电子设备包括神经网络处理器NPU、控制器和模拟器,所述硬件算子匹配装置包括:
确定单元,用于在所述NPU运行神经网络模型至第i层时,通过所述控制器确定所述第i层对应的多个参考硬件算子,所述第i层为所述神经网络模型中的任意一层;
模拟单元,用于通过所述模拟器模拟运行所述多个参考硬件算子,得到所述多个参考硬件算子对应的多个运行周期循环数,每一参考硬件算子对应一个运行周期循环数;
所述确定单元,还用于通过所述控制器确定所述多个运行周期循环数中最小值对应的目标硬件算子;
执行单元,用于通过所述控制器根据所述目标硬件算子执行所述第i层的运算。
第三方面,本申请实施例提供了一种电子设备,包括:神经网络处理器NPU、控制器、模拟器、存储器和通信接口;以及一个或多个程序,所述一个或多个程序被存储在所述存储器中,并且被配置成由所述控制器执行,所述程序包括用于如本申请实施例第一方面中所描述的部分或全部步骤的指令。
第四方面,本申请实施例提供了一种计算机可读存储介质,其中,所述计算机可读存储介质用于存储计算机程序,其中,所述计算机程序使得计算机执行如本申请实施例第一方面中所描述的部分或全部步骤的指令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于OPPO广东移动通信有限公司,未经OPPO广东移动通信有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910473288.7/2.html,转载请声明来源钻瓜专利网。