[发明专利]一种在NPU中减少计算资源占用的方法及装置有效
申请号: | 202011114887.9 | 申请日: | 2020-10-19 |
公开(公告)号: | CN111931927B | 公开(公告)日: | 2021-02-19 |
发明(设计)人: | 戴舒诣;范名超 | 申请(专利权)人: | 翱捷智能科技(上海)有限公司 |
主分类号: | G06N3/063 | 分类号: | G06N3/063;G06N3/04;G06N3/08 |
代理公司: | 北京清大紫荆知识产权代理有限公司 11718 | 代理人: | 冯振华 |
地址: | 200120 上海市浦东*** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 npu 减少 计算 资源 占用 方法 装置 | ||
1.一种在NPU中减少计算资源占用的方法,其特征在于:
所述方法用于神经网络处理单元NPU,所述神经网络处理单元中包含用于卷积运算的脉动计算阵列PE array模块;
所述方法包括:
获取平均池化的共享除法系数kernel_size,其中所述共享除法系数为用于所述平均池化的池化核的大小;
将所述共享除法系数扩充为第一卷积核,其中所述第一卷积核为用于深度卷积计算的卷积核;
将所述第一卷积核输入所述脉动计算阵列模块以通过所述脉动计算阵列模块实现所述平均池化;
其中,将所述共享除法系数扩充为第一卷积核,包括:
获取所述池化核的大小及所述共享除法系数的倒数;
生成所述第一卷积核,其中所述第一卷积核与所述池化核大小相同且所述第一卷积核内每个乘法因子均为所述共享除法系数的倒数。
2.根据权利要求1所述的方法,其特征在于:
所述脉动计算阵列模块由多个数据计算块组成,每个数据计算块由多个数据计算片组成;当所述脉动计算阵列模块工作时,所输入的特征图被分割为与数据计算块数量相同的多份,分别输入各个数据计算块以互相独立地进行卷积运算;所述脉动计算阵列模块每个列内的数据计算片脉动共享相同的权重,每个数据计算块内的数据计算片脉动共享相同的图像,脉动输出卷积结果。
3.根据权利要求2所述的方法,其特征在于:
每个所述数据计算片包括加法树、累加器及多个并行的乘法器;在进行卷积运算时,每个乘法器用于对输入的不同通道对应的分割后的二维图像和权重分别进行点乘,通过所述加法树得到多通道总和,送入所述累加器进行累加;在进行平均池化时,仅使用所述多个并行的乘法器中的一个乘法器进行第一卷积核内乘法因子与与其对应的图像像素点的点乘,将点乘结果直接输入所述累加器以对第一卷积核平面上所有点乘结果累加。
4.根据权利要求2所述的方法,其特征在于,当所述平均池化为全局平均池化时,所述方法还包括:
将输入的特征图分割成与数据计算块数量相同的多份以与每个数据计算块对应;
将输入的第一卷积核分割成与所述输入的特征图相同大小,每个数据计算块分别对分割后的图像进行平均池化,将所述脉动计算阵列各列的数据计算片的输出的分割后池化的结果进行求和。
5.根据权利要求1所述的方法,其特征在于,所述获取平均池化的共享除法系数之前,所述方法还包括:
当所述神经网络处理单元的运行层是卷积层时,将权重缓存输出的卷积核直接输送给所述脉动计算阵列模块以实现卷积运算;
当所述神经网络处理单元的运行层是平均池化层时,执行所述获取平均池化的共享除法系数及其之后的步骤。
6.一种在NPU中减少计算资源占用的装置,其特征在于:
所述装置用于神经网络处理单元NPU,所述神经网络处理单元中包含用于卷积运算的脉动计算阵列PE array模块;
所述装置包括:
卷积核获取单元,用于获取平均池化的共享除法系数kernel_size,其中所述共享除法系数为用于所述平均池化的池化核的大小,将所述共享除法系数扩充为第一卷积核,其中所述第一卷积核为用于深度卷积计算的卷积核;
卷积核输入单元,用于将所述第一卷积核输入所述脉动计算阵列模块以通过所述脉动计算阵列模块实现所述平均池化;
其中,所述卷积核获取单元在将所述共享除法系数扩充为第一卷积核时,具体用于:
获取所述池化核的大小及所述共享除法系数的倒数;
生成所述第一卷积核,其中所述第一卷积核与所述池化核大小相同且所述第一卷积核内每个乘法因子均为所述共享除法系数的倒数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于翱捷智能科技(上海)有限公司,未经翱捷智能科技(上海)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011114887.9/1.html,转载请声明来源钻瓜专利网。