[发明专利]一种全片上存储的神经网络加速器及其实现方法有效
| 申请号: | 202010512394.4 | 申请日: | 2020-06-08 |
| 公开(公告)号: | CN111401543B | 公开(公告)日: | 2020-11-10 |
| 发明(设计)人: | 陈乔乔;刘洪杰 | 申请(专利权)人: | 深圳市九天睿芯科技有限公司 |
| 主分类号: | G06N3/063 | 分类号: | G06N3/063;G06N3/04 |
| 代理公司: | 深圳国新南方知识产权代理有限公司 44374 | 代理人: | 周雷 |
| 地址: | 518000 广东省深圳市*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 全片 存储 神经网络 加速器 及其 实现 方法 | ||
1.一种全片上存储的神经网络加速器的实现方法,其特征在于,所述方法包括:
步骤1,根据当前的神经网络模型,确定神经网络中输出特征图极小值所在的层;
步骤2,在阵列计算单元最大程度上能支持的多层融合计算的层中,如果最后一层的输出特征图的大小不超过片上存储容量,则以最后一层作为多层融合计算的最后一层;如果最后一层的输出特征图的大小超过片上存储容量,则以输出特征图极小值所在的层作为多层融合计算的最后一层;确定多层融合计算的层数;
步骤3,根据多层融合计算的层数,确定用于多层融合计算的阵列计算单元个数,申请阵列计算单元;
步骤4,所述多层融合计算的最后一层的输出特征图存储在片上存储器;
步骤5,根据步骤2确定多层融合的层数,根据步骤3申请阵列计算单元,读取步骤4存储在片上存储器的特征图并进行多层融合计算,根据步骤4将多层融合计算的最后一层的输出特征图存储到片上存储器,多层融合计算完成的层对应的阵列计算单元被释放,重复上述过程,直至多层融合计算完整个神经网络的所有层。
2.如权利要求1所述的方法,其特征在于,多层融合计算的最后一层的输出特征图大小不超过片上存储容量。
3.如权利要求2所述的方法,其特征在于,未用于多层融合计算或者被释放的阵列计算单元,可用于存储待计算层需要预加载的权重。
4.如权利要求3所述的方法,其特征在于,神经网络输出特征图在预定层出现极小值。
5.如权利要求4所述的方法,其特征在于,神经网络中输出特征图极小值所在的层相间隔的层数是相等的。
6.如权利要求5所述的方法,其特征在于,以MobileNet-YOLOv3为神经网络模型,神经网络中输出特征图极小值所在的层相间隔的层数是三层。
7.如权利要求4所述的方法,其特征在于,神经网络中输出特征图极小值所在的层相间隔的层数是不相等的。
8.一种全片上存储的神经网络加速器,其特征在于,包括:
控制器,向加载模块、计算阵列、后处理模块和存储模块发送控制指令;
加载模块,根据控制指令从片上缓冲器加载特征图和权重到计算阵列;
计算阵列,包括多个阵列计算单元,所述计算阵列根据控制指令接收从加载模块输出的特征图和权重,将运算结果输出到后处理模块或者存储模块;
后处理模块,根据控制指令接收运算结果,进行后处理并将处理结果输出给存储模块;
存储模块,根据控制指令将输出特征图存储到片上缓冲器,所述输出特征图是运算结果或处理结果;所述输出特征图的大小不超过片上缓冲器的存储容量;
片上缓冲器,存储特征图;当再次确定多层融合计算的层数和阵列计算单元个数后,申请阵列计算单元,加载模块根据控制器下发的控制指令读取片上缓冲器中的输出特征图和权重到计算阵列,存储模块根据控制器下发的控制指令将计算完的输出特征图存储到片上缓冲器,释放多层融合计算完成的层对应的阵列计算单元,重复上述过程,直至多层融合计算完整个神经网络的所有层,输出最终结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳市九天睿芯科技有限公司,未经深圳市九天睿芯科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010512394.4/1.html,转载请声明来源钻瓜专利网。





