【技术实现步骤摘要】
一种卷积神经网络的基本计算单元及计算方法
本专利技术涉及计算机
,特别涉及一种卷积神经网络的基本计算单元及计算方法。
技术介绍
卷积神经网络(ConvolutionalNeuralNetworks,CNN)是近年来发展迅速并引起广泛重视的一种高效识别方法。目前,CNN算法可以基于CPU(CentralProcessingUnit,中央处理器)或GPU(GraphicsProcessingUnit,图形处理器)得以实现。其中,CPU和GPU均为软件实现算法。由于现有实现方式是软件实现算法,故算法完成的时间不可控。
技术实现思路
本专利技术提供了一种卷积神经网络的基本计算单元及计算方法,能够基于硬件实现算法,以使算法完成时间可控。为了达到上述目的,本专利技术是通过如下技术方案实现的:一方面,本专利技术提供了一种卷积神经网络的基本计算单元,包括:控制器、加法树、输入端缓存器、至少一个计算单元、输出端缓存器;所述计算单元包括块随机存储器、至少一个卷积运算单元、内部加法器、激活池化单元;所述块随机存储器和所述内部加法器均分别与每一个所述卷积运算单元相连,所述内部加法器和所述激活池化单元均与所述加法树相连;所述输入端缓存器,用于针对每一个所述计算单元均执行:基于所述控制器的控制,将缓存的至少一个待处理特征图中的第一行数的图像数据加载至当前计算单元,所述当前计算单元对应有所述第一行数;所述块随机存储器,用于缓存所述输入端缓存器加载来的每一行图像数据;针对每一个所述卷积运算单元均执行:基于所述控制器的控制,针对自身缓存的每一行图像数据,向当前卷积运算单元下发有效行数和起 ...
【技术保护点】
1.一种卷积神经网络的基本计算单元,其特征在于,包括:控制器、加法树、输入端缓存器、至少一个计算单元、输出端缓存器;所述计算单元包括块随机存储器、至少一个卷积运算单元、内部加法器、激活池化单元;所述块随机存储器和所述内部加法器均分别与每一个所述卷积运算单元相连,所述内部加法器和所述激活池化单元均与所述加法树相连;所述输入端缓存器,用于针对每一个所述计算单元均执行:基于所述控制器的控制,将缓存的至少一个待处理特征图中的第一行数的图像数据加载至当前计算单元,所述当前计算单元对应有所述第一行数;所述块随机存储器,用于缓存所述输入端缓存器加载来的每一行图像数据;针对每一个所述卷积运算单元均执行:基于所述控制器的控制,针对自身缓存的每一行图像数据,向当前卷积运算单元下发有效行数和起始行数;所述卷积运算单元,用于根据下发来的有效行数和起始行数,从所述块随机存储器缓存的全部图像数据中,获取第二行数的图像数据,所述第二行数为自身执行基本卷积运算所需的行数;对所述第二行数的图像数据进行基本卷积运算后发送给所述内部加法器;所述内部加法器,用于对所述卷积运算单元发来的图像数据进行处理后发送给所述加法树;所述 ...
【技术特征摘要】
1.一种卷积神经网络的基本计算单元,其特征在于,包括:控制器、加法树、输入端缓存器、至少一个计算单元、输出端缓存器;所述计算单元包括块随机存储器、至少一个卷积运算单元、内部加法器、激活池化单元;所述块随机存储器和所述内部加法器均分别与每一个所述卷积运算单元相连,所述内部加法器和所述激活池化单元均与所述加法树相连;所述输入端缓存器,用于针对每一个所述计算单元均执行:基于所述控制器的控制,将缓存的至少一个待处理特征图中的第一行数的图像数据加载至当前计算单元,所述当前计算单元对应有所述第一行数;所述块随机存储器,用于缓存所述输入端缓存器加载来的每一行图像数据;针对每一个所述卷积运算单元均执行:基于所述控制器的控制,针对自身缓存的每一行图像数据,向当前卷积运算单元下发有效行数和起始行数;所述卷积运算单元,用于根据下发来的有效行数和起始行数,从所述块随机存储器缓存的全部图像数据中,获取第二行数的图像数据,所述第二行数为自身执行基本卷积运算所需的行数;对所述第二行数的图像数据进行基本卷积运算后发送给所述内部加法器;所述内部加法器,用于对所述卷积运算单元发来的图像数据进行处理后发送给所述加法树;所述加法树,用于基于所述控制器的控制,对每一个所述内部加法器发来的图像数据进行处理后发送给一所述激活池化单元;所述激活池化单元,用于基于所述控制器的控制,对所述加法树发来的图像数据进行处理后发送给所述输出端缓存器。2.根据权利要求1所述的卷积神经网络的基本计算单元,其特征在于,所述激活池化单元包括:激活模块、第一选择器、池化模块、第二选择器、第三选择器;所述第一选择器的一输入端与所述激活模块的输入端相连、另一输入端与所述激活模块的输出端相连、输出端与所述池化模块的输入端相连;所述第二选择器的一输入端与所述池化模块的输入端相连、另一输入端与所述池化模块的输出端相连、输出端与所述第三选择器的第一输入端相连;所述第三选择器的所述第一输入端与所述第二选择器的输出端相连、第二输入端与所述至少一个计算单元中的其他计算单元相连、第三输入端与所述输入端缓存器相连、第一输出端与所述输出端缓存器相连,第二输出端与所述激活模块的输入端相连;所述激活池化单元,用于基于所述控制器的控制,控制所述激活模块和/或所述池化模块是否工作;所述第三选择器,用于基于所述控制器的控制,控制所述第一输入端、所述第二输入端和所述第三输入端中的一个输入端工作,控制所述第一输出端或所述第二输出端工作。3.根据权利要求2所述的卷积神经网络的基本计算单元,其特征在于,所述激活池化单元还包括:偏置量处理单元;所述偏置量处理单元分别与所述加法树和所述激活模块相连;所述第二输出端通过所述偏置量处理单元与所述激活模块的输入端相连。4.根据权利要求1所述的卷积神经网络的基本计算单元,其特征在于,所述当前计算单元包括4个卷积运算单元;所述4个卷积运算单元中任一卷积运算单元执行基本卷积运算所需的行数为3行,步长为1;所述当前计算单元对应的第一行数为16行。5.根据权利要求1所述的卷积神经网络的基本计算单元,其特征在于,所述输入端缓存器,还用于根据公式一、公式二和公式三,确定每一个所述计算单元对应的第一行数,其中,任一所述卷积运算单元执行基本卷积运算时的步长为1;所述公式一包括:所述公式二包括:所述公式三包括:Yi=max{yi}其中,Xij为所述至少一个计算单元中的第i个计算单元中的第j个卷积运算单元执行基本卷积运算所需的行数,ai为所述第i个计算单元对应的预设优化值,ai为整数,m为所述第i个计算单元中的卷积运算单元的个数,xi为所述第i个计算单元对...
【专利技术属性】
技术研发人员:李朋,赵鑫鑫,姜凯,于治楼,
申请(专利权)人:济南浪潮高新科技投资发展有限公司,
类型:发明
国别省市:山东,37
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。