[发明专利]卷积神经网络的运算方法、装置及DPU有效
| 申请号: | 201910249144.3 | 申请日: | 2019-03-29 |
| 公开(公告)号: | CN109919312B | 公开(公告)日: | 2021-04-23 |
| 发明(设计)人: | 崔文朋;乔磊;池颖英;周文博;史善哲;房超;郑哲;刘亮;龙希田;王亮 | 申请(专利权)人: | 北京智芯微电子科技有限公司;国网信息通信产业集团有限公司;国家电网有限公司;国网河北省电力有限公司 |
| 主分类号: | G06N3/063 | 分类号: | G06N3/063 |
| 代理公司: | 北京中誉威圣知识产权代理有限公司 11279 | 代理人: | 周际;王芊雨 |
| 地址: | 100192 北京市海淀区*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 卷积 神经网络 运算 方法 装置 dpu | ||
1.一种卷积神经网络的运算方法,其特征在于,所述运算方法包括:
第一缓存区获取内存中存储的神经网络模型第n层的参数以及第一数据,并将所述神经网络模型第n层的参数以及第一数据存储在所述第一缓存区,n为奇数;
第一运算单元获取第一缓存区中存储的神经网络模型第n层的参数以及第一数据,根据所述神经网络第n层的参数对所述第一数据进行计算,将计算结果作为第二数据;
在根据所述神经网络模型第n层的参数对所述第一数据进行计算的同时,第二缓存区从内存中获取神经网络模型第n+1层的参数,并将所述神经网络模型第n+1层的参数存储在所述第二缓存区;
在所述第一运算单元计算完成后,第二缓存区存储所述第二数据;
第二运算单元获取第二缓存区中存储的神经网络模型第n+1层的参数以及所述第二数据,根据所述神经网络模型第n+1层的参数对所述第二数据进行计算,根据计算结果对所述第一数据进行更新,将更新后的第一数据存储至所述第一缓存区中,
其中,n从1开始,按照所述运算方法进行计算,直到预设的神经网络模型的最大层数计算完毕为止,
其中,通过卷积神经网络的运算装置来执行所述卷积神经网络的运算方法,其中所述卷积神经网络的运算装置的外部配置有内存,用于存储卷积神经网络模型的参数,该运算装置包括:
第一缓存区,与所述内存相连接,所述第一缓存区用于获取所述内存中存储的神经网络模型第n层的参数以及第一数据,并将所述神经网络模型第n层的参数以及所述第一数据存储在所述第一缓存区,n为奇数,且n≥1;
第一运算单元,与所述第一缓存区相连接,所述第一运算单元用于获取第一缓存区中存储的神经网络模型第n层的参数以及第一数据,根据所述神经网络第n层的参数对所述第一数据进行计算,将计算结果作为第二数据;
第二缓存区,分别与所述内存以及所述第一运算单元相连接,在所述第一运算单元根据所述神经网络模型第n层的参数对所述第一数据进行计算的同时,所述第二缓存区从所述内存中获取神经网络模型第n+1层的参数,并将所述神经网络模型第n+1层的参数存储在所述第二缓存区;在所述第一运算单元计算完成后,所述第二缓存区接收并存储所述第二数据;
第二运算单元,分别与所述第二缓存区以及第一缓存区相连接,所述第二运算单元用于获取第二缓存区中存储的神经网络模型第n+1层的参数以及所述第二数据,根据所述神经网络模型第n+1层的参数对所述第二数据进行计算,根据计算结果对所述第一数据进行更新,将更新后的第一数据存储至所述第一缓存区中,
其中,所述第一缓存区存储的神经网络模型第n层的参数包括:偏置参数、卷积参数、激活参数、池化参数;
所述第一运算单元包括:
第一卷积运算单元,与所述第一缓存区相连接,所述第一卷积运算单元用于获取第一缓存区中存储的第一数据以及卷积参数,对所述第一数据以及所述卷积参数进行卷积运算,将卷积运算的结果进行输出;
第一求和运算单元,分别与所述第一缓存区以及所述第一卷积运算单元相连接,所述第一求和运算单元用于获取第一缓存区中存储的所述偏置参数;接收所述卷积运算的结果,将所述偏置参数与所述卷积运算的结果进行求和运算,将求和运算的结果进行输出,
第一激活运算单元,分别与所述第一缓存区以及所述第一求和运算单元相连接,所述第一激活运算单元用于获取所述第一缓存区中存储的激活参数;接收所述求和运算的结果,将所述激活参数与所述求和运算的结果进行激活运算,将激活运算的结果进行输出,以及
第一池化运算单元,分别与所述第一缓存区以及所述第一激活运算单元相连接,所述第一池化运算单元用于获取第一缓存区中存储的池化参数;接收所述激活运算的结果,将所述池化参数与所述激活运算的结果进行池化运算,将池化运算的结果作为第二数据,并将所述第二数据传输至所述第二缓存区,
其中,所述第二缓存区存储的神经网络模型第n+1层的参数包括:偏置参数、卷积参数、激活参数、池化参数;
其中,所述第二运算单元包括:
第二卷积运算单元,与所述第二缓存区相连接,所述第二卷积运算单元用于获取第二缓存区中存储的第二数据以及卷积参数,对所述第二数据以及所述卷积参数进行卷积运算,将卷积运算的结果进行输出;
第二求和运算单元,分别与所述第二缓存区以及所述第二卷积运算单元相连接,所述第二求和运算单元用于获取第二缓存区中存储的所述偏置参数;接收所述卷积运算的结果,将所述偏置参数与所述卷积运算的结果进行求和运算,将求和运算的结果进行输出;
第二激活运算单元,分别与所述第二缓存区以及所述第二求和运算单元相连接,所述第二激活运算单元用于获取所述第二缓存区中存储的激活参数;接收所述求和运算的结果,将所述激活参数与所述求和运算的结果进行激活运算,将激活运算的结果进行输出;
第二池化运算单元,分别与所述第二缓存区以及所述第二激活运算单元相连接,所述第二池化运算单元用于获取第二缓存区中存储的池化参数;接收所述激活运算的结果,将所述池化参数与所述激活运算的结果进行池化运算,根据池化运算的结果对所述第一数据进行更新,将更新后的第一数据存储至所述第一缓存区中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京智芯微电子科技有限公司;国网信息通信产业集团有限公司;国家电网有限公司;国网河北省电力有限公司,未经北京智芯微电子科技有限公司;国网信息通信产业集团有限公司;国家电网有限公司;国网河北省电力有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910249144.3/1.html,转载请声明来源钻瓜专利网。





