一种卷积神经网络硬件模块部署方法技术

技术编号:18713420 阅读:56 留言:0更新日期:2018-08-21 23:03
本发明专利技术公开一种卷积神经网络硬件模块部署方法,涉及卷积神经网络实现领域;利用卷积神经网络的上层编译器根据目标硬件资源及卷积神经网络模型的数据体量,对卷积神经网络的实现形式进行模拟比较,权衡硬件资源与卷积神经网络速度的要求,确定卷积神经网络各个硬件模块的部署参数,划分各个硬件模块的数量及确定硬件模块间的连接方式,以实现卷积神经网络硬件模块部署。

A convolutional neural network hardware module deployment method

The invention discloses a hardware module deployment method of convolution neural network, which relates to the field of convolution neural network implementation; the upper compiler of convolution neural network simulates and compares the implementation forms of convolution neural network according to the target hardware resources and the volume of data of convolution neural network model, and weighs the hardware resources and convolution. According to the speed requirement of neural network, the deployment parameters of each hardware module of convolutional neural network are determined, the number of each hardware module is divided, and the connection mode between hardware modules is determined.

【技术实现步骤摘要】
一种卷积神经网络硬件模块部署方法
本专利技术公开一种卷积神经网络硬件模块部署方法,涉及卷积神经网络实现领域。
技术介绍
卷积神经网络(CNN)是多层感知机(MLP)的一个变种模型。它从生物学概念中演化而来,视觉皮层细胞以某种方法覆盖整个视觉域,就像一些滤波器一样,它们对输入的图像是局部敏感的,因此能够更好地挖掘出自然图像中的目标的空间关系信息。CNN通过加强神经网络中相邻层之间节点的局部连接模式来挖掘自然图像中兴趣目标的空间局部关联信息。CNN的部署方式目前大多为采用X86架构CPU平台+GPU方式作为硬件环境,在实时操作系统中运行如TensorFlow、Caffe等软件框架,模型参数设置好后开始训练及推理过程。在应用端由于资源等限制,往往只能运行体量较小的模型,且模型运行效率较低,识别速度远低于PC端水平。本专利技术公开了一种卷积神经网络硬件模块部署方法,以硬件电路的形式实现某种卷积神经网络模型,通过结合目标硬件资源及神经网络模型体量,权衡资源与速度要求,对硬件模块进行数量分配及连接方式划分,可以充分利用硬件逻辑与存储资源,高效快速完成卷积神经网络每一层的实现部署,及不同结构层之间的转换部署。可灵活实现各种神经硬件结构,且能将前沿研发尽早转化成硬件实现,提升开发效率。
技术实现思路
本专利技术针对现有技术的问题,提供一种卷积神经网络硬件模块部署方法,采用特定结构硬件资源,针对不同神经网络特征,实时部署CNN到应用端,可极大发挥神经网络价值。本专利技术提出的具体方案是:一种卷积神经网络硬件模块部署方法:卷积神经网络的上层编译器根据目标硬件资源及卷积神经网络模型的数据体量,对卷积神经网络的实现形式进行模拟比较,权衡硬件资源与卷积神经网络速度的要求,确定卷积神经网络各个硬件模块的部署参数,划分各个硬件模块的数量及确定硬件模块间的连接方式,以实现卷积神经网络硬件模块部署。所述的方法中卷积神经网络的硬件模块包括卷积神经网络的基础模块和由卷积神经网络模型特征决定的特有模块,其中基础模块包括卷积模块,池化模块,累加模块,数据存取模块,指令解析分发模块。所述的方法中根据目标硬件资源及卷积神经网络模型的数据体量,对卷积神经网络的实现形式进行模拟比较,权衡硬件资源与卷积神经网络速度的要求,确定卷积神经网络的卷积模块基本单元大小、数量,以及是否将卷积模块的基本单元进行组合。所述的方法中根据目标硬件资源及卷积神经网络模型的数据体量,对卷积神经网络的实现形式进行模拟比较,权衡硬件资源与卷积神经网络速度的要求,确定池化模块的基本单元大小、数量。所述的方法中根据目标硬件资源及卷积神经网络模型的数据体量,对卷积神经网络的实现形式进行模拟比较,权衡硬件资源与卷积神经网络速度的要求,确定累加模块内部树状结构、数量、缓存次数。所述的方法中根据目标硬件资源及卷积神经网络模型的数据体量,对卷积神经网络的实现形式进行模拟比较,权衡硬件资源与卷积神经网络速度的要求,确定数据存取模块容量、存储形式。所述的方法中根据目标硬件资源及卷积神经网络模型的数据体量,对卷积神经网络的实现形式进行模拟比较,权衡硬件资源与卷积神经网络速度的要求,确定指令解析分发模块与其他模块连接方式及指令执行反馈方式,并且硬件模块的部署参数以指令形式存放在指令解析分发模块中,根据指令执行反馈信息传输给其他硬件模块。所述的方法中特有模块包括膨胀模块,残差模块,压缩模块。本专利技术的有益之处是:本专利技术提供一种卷积神经网络硬件模块部署方法,通过结合目标硬件资源及神经网络模型体量,权衡资源与速度要求,对硬件模块进行数量分配及连接方式划分,可以充分利用硬件逻辑与存储资源,高效快速完成卷积神经网络每一层的实现部署,及不同结构层之间的转换部署。可灵活实现各种神经硬件结构,且能将前沿研发尽早转化成硬件实现,提升开发效率。附图说明图1本专利技术硬件模块部署关系示意图;图2本专利技术实施例部署示意图。具体实施方式本专利技术提供一种卷积神经网络硬件模块部署方法:卷积神经网络的上层编译器根据目标硬件资源及卷积神经网络模型的数据体量,对卷积神经网络的实现形式进行模拟比较,权衡硬件资源与卷积神经网络速度的要求,确定卷积神经网络各个硬件模块的部署参数,划分各个硬件模块的数量及确定硬件模块间的连接方式,以实现卷积神经网络硬件模块部署。结合附图及具体实施例,对本专利技术做进一步说明。其中本专利技术中卷积神经网络各个硬件模块中,卷积神经网络的基础模块包括但不限于:卷积模块,池化模块,累加模块,数据存取模块,指令解析分发模块等,分别用于实现卷积神经网络中的一步或几步操作;由卷积神经网络模型特征决定的特有模块包括但不限于:膨胀模块,残差模块,压缩模块等。硬件模块各参数由上层编译器根据目标硬件资源及神经网络模型体量划分各模块数量及连接方式,及卷积神经网络模型特征决定卷积模块基本单元大小、数量,是否组合;决定池化模块基本单元大小、数量;决定累加模块连接形式、内部树状结构、数量、缓存次数;决定数据存取模块容量、连接形式及存储形式;决定指令解析分发模块与其他模块连接方式及指令执行反馈方式等参数;上述参数以指令形式存放在指令解析分发模块,根据指令执行反馈信息传输给其他各模块;硬件模块各参数可经人工修改优化;硬件模块部署可随时由上层编译器更改,以适应不同神经网络模型。应用到实际中,如图2,按目标硬件资源划分为64个卷积计算基本单元,每个单元可对16行输入特征图与卷积核进行卷积运算;本层网络将完成256x256x64到256x256x128的卷积、非线性、池化计算,将输入特征图按每16行一组分块,相邻2块之间重复2行,以保证块边缘信息不丢失;每个卷积基本计算单元载入4个卷积核,最大化利用目标硬件资源,先计算块①与前4个卷积核的卷积结果,遍历完全部128卷积核需128/4=32轮计算,完成所有输入通道块①的卷积及非线性运算;遍历输入通道所有块,完成整幅输入通道计算;64个卷积基本单元的中间结果每64个一组送入累加单元,进行输入通道并行累加运算,结果进入池化单元,经池化后送入数据存取模块转存;当本层所需计算全部完成后,由指令解析分发模块下发新一轮指令,对各硬件模块重新部署,各参数全部更新,以适应新一层卷积神经网络计算要求。本文档来自技高网...

【技术保护点】
1.一种卷积神经网络硬件模块部署方法,其特征是卷积神经网络的上层编译器根据目标硬件资源及卷积神经网络模型的数据体量,对卷积神经网络的实现形式进行模拟比较,权衡硬件资源与卷积神经网络速度的要求,确定卷积神经网络各个硬件模块的部署参数,划分各个硬件模块的数量及确定硬件模块间的连接方式,以实现卷积神经网络硬件模块部署。

【技术特征摘要】
1.一种卷积神经网络硬件模块部署方法,其特征是卷积神经网络的上层编译器根据目标硬件资源及卷积神经网络模型的数据体量,对卷积神经网络的实现形式进行模拟比较,权衡硬件资源与卷积神经网络速度的要求,确定卷积神经网络各个硬件模块的部署参数,划分各个硬件模块的数量及确定硬件模块间的连接方式,以实现卷积神经网络硬件模块部署。2.根据权利要求1所述的方法,其特征是所述卷积神经网络的硬件模块包括卷积神经网络的基础模块和由卷积神经网络模型特征决定的特有模块,其中基础模块包括卷积模块,池化模块,累加模块,数据存取模块,指令解析分发模块。3.根据权利要求2所述的方法,其特征是根据目标硬件资源及卷积神经网络模型的数据体量,对卷积神经网络的实现形式进行模拟比较,权衡硬件资源与卷积神经网络速度的要求,确定卷积神经网络的卷积模块基本单元大小、数量,以及是否将卷积模块的基本单元进行组合。4.根据权利要求2或3所述的方法,其特征是根据目标硬件资源及卷积神经网络模型的数据体量,对卷积神经网络的实现形式进行...

【专利技术属性】
技术研发人员:王子彤姜凯聂林川
申请(专利权)人:济南浪潮高新科技投资发展有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1