[发明专利]一种卷积神经网络加速器及加速方法有效
申请号: | 201911102633.2 | 申请日: | 2019-11-12 |
公开(公告)号: | CN111047008B | 公开(公告)日: | 2023-08-01 |
发明(设计)人: | 刘强;曾成龙 | 申请(专利权)人: | 天津大学 |
主分类号: | G06N3/0464 | 分类号: | G06N3/0464;G06N3/063 |
代理公司: | 天津市北洋有限责任专利代理事务所 12201 | 代理人: | 潘俊达 |
地址: | 300072*** | 国省代码: | 天津;12 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 卷积 神经网络 加速器 加速 方法 | ||
1.一种卷积神经网络加速器,其特征在于:包括数据输入控制模块(1)、输入缓存器(2)、行缓存模块(3)、矩阵模块(4)、卷积处理单元(5)、权值输入模块(6)、输出缓存器模块(7)、偏置模块(8)及池化模块(9),其中,
所述数据输入控制模块(1),用于接收来自存储器或所述池化模块(9)的数据,并将接收到的输入数据按预设顺序存入所述输入缓存器(2)中;
所述行缓存模块(3),用于拼接所述输入数据,输出多行数据,然后传输给所述卷积处理单元(5);
所述矩阵模块(4),用于将所述输入数据拼接成输入矩阵,然后传输给所述卷积处理单元(5);
所述权值输入模块(6),用于缓存权值,并将所述权值按预设顺序传递给所述卷积处理单元(5);
所述卷积处理单元(5),用于对所述输入数据和所述权值做卷积运算,然后传输给所述输出缓存器模块(7);
所述输出缓存器模块(7),用于缓存所述卷积处理单元(5)的输出,然后传输给所述偏置模块(8);
所述偏置模块(8),用于对所述输出缓存器模块(7)的输出进行偏置,然后传输给所述池化模块(9);
所述池化模块(9),用于对偏置结果进行池化处理,然后将输出数据传输到存储器或所述数据输入控制模块(1)。
2.如权利要求1所述的一种卷积神经网络加速器,其特征在于:所述卷积处理单元(5)包括多个卷积核,所述卷积核包括乘法器和加法器。
3.如权利要求2所述的一种卷积神经网络加速器,其特征在于:所述乘法器的数量为9个,所述加法器的数量为8个。
4.如权利要求1所述的一种卷积神经网络加速器,其特征在于:所述卷积处理单元(5)将1×1的卷积转换成3×3的卷积。
5.如权利要求1所述的一种卷积神经网络加速器,其特征在于:所述输入矩阵为3×3矩阵。
6.如权利要求1所述的一种卷积神经网络加速器,其特征在于:所述存储器为片外存储器。
7.如权利要求1所述的一种卷积神经网络加速器,其特征在于:所述偏置模块(8)通过计数器控制偏置的更新。
8.如权利要求1所述的一种卷积神经网络加速器,其特征在于:所述池化模块(9)设置有使能端。
9.一种卷积神经网络加速方法,其特征在于,包括如下步骤:
步骤一、预设网络加速参数,接收来自存储器或池化模块(9)的数据,并将接收到的输入数据按预设顺序存入输入缓存器(2)中,
步骤二、当权值输入模块(6)准备对应权值后,判断是否为1×1的卷积运算,若是,数据输入控制模块(1)一次性输出多个通道的数据,否则,所述数据输入控制模块(1)按预设顺序输出各通道数据,然后通过行缓存模块(3),将按单行输入的数据变成按三行同时输出;
步骤三、通过矩阵模块(4)将数据拼接成3×3的输入矩阵,然后对所述输入矩阵中的数据与对应的所述权值做卷积运算,接着对卷积处理单元(5)的输出数据做通道方向的累加,并加上偏置;
步骤四、根据所述预设网络加速参数,判断是否需要做池化操作,若是,则进行池化操作后输出,否则直接输出,然后根据所述预设网络加速参数,判断池化模块(9)的输出是否传到片外存储器,若是,则将数据传到片外存储器,否则,通过所述数据输入控制模块(1)将输出数据传回到所述输入缓存器(2)中。
10.如权利要求9所述的一种卷积神经网络加速方法,其特征在于:所述预设网络加速参数包括输入特征图的大小、卷积核的大小及数目、池化操作的条件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于天津大学,未经天津大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911102633.2/1.html,转载请声明来源钻瓜专利网。