【技术实现步骤摘要】
一种矩阵卷积计算模块及矩阵卷积计算方法
本申请涉及电子
,特别是涉及一种基于FPGA实现的矩阵卷积计算模块及矩阵卷积计算方法。
技术介绍
随着科学技术的发展,卷积神经网络(ConvolutionalNeuralNetwork,CNN)的应用越来越广泛。CNN是一种多层神经网络,卷积层是CNN的重要组成部分,其核心运算是完成输入数据与卷积器的卷积运算。其中,输入数据可以体现为输入矩阵,卷积器可以体现为卷积器矩阵,卷积输出体现为输出矩阵。若输入矩阵为XM*N,卷积器矩阵为Km*n;一般m<<M,n<<N。则卷积输出为:其中,0≤w≤M-m+1,0≤t≤N-n+1。通过以上公式可知,完成输出矩阵中一个输出点的运算需要将卷积器和输入数据对应位置上的各点进行乘累加。改变卷积器与输入数据的位置关系可以完成不同输出点的运算。为了完成整个卷积运算,卷积器需要从左到右移动,每移动一格完成一个输出点的运算;完成一行输出的运算后,将卷积器下移一行,再从左到右移动并完成运算,直到最后一行的最后一个输出点运算完成。使用FPGA实现矩阵卷积运算具有一定的优势,矩阵卷积运算中涉及大量的乘 ...
【技术保护点】
1.一种基于FPGA实现的矩阵卷积计算模块,输入矩阵为M*N矩阵,卷积器矩阵为m*n矩阵,M、N、m以及n均为正整数,m小于或者等于M,n小于或者等于N;其特征在于,所述卷积计算模块包括:m*n个寄存器、m*n个乘法器、一个加法树和(m‑1)个存储器;所述m*n个乘法器的输出端连接至所述加法树的输入端;所述m*n个乘法器中任意一个乘法器的输入为卷积器矩阵中的元素和所述寄存器中存储的值;所述m*n个乘法器体现为m组乘法器,一组乘法器包含n个乘法器;所述m*n个寄存器体现为m组寄存器,每一组寄存器包含n个寄存器;所述m*n个寄存器和所述m*n个乘法器一一对应;所述m组乘法器中的 ...
【技术特征摘要】
1.一种基于FPGA实现的矩阵卷积计算模块,输入矩阵为M*N矩阵,卷积器矩阵为m*n矩阵,M、N、m以及n均为正整数,m小于或者等于M,n小于或者等于N;其特征在于,所述卷积计算模块包括:m*n个寄存器、m*n个乘法器、一个加法树和(m-1)个存储器;所述m*n个乘法器的输出端连接至所述加法树的输入端;所述m*n个乘法器中任意一个乘法器的输入为卷积器矩阵中的元素和所述寄存器中存储的值;所述m*n个乘法器体现为m组乘法器,一组乘法器包含n个乘法器;所述m*n个寄存器体现为m组寄存器,每一组寄存器包含n个寄存器;所述m*n个寄存器和所述m*n个乘法器一一对应;所述m组乘法器中的第i组乘法器对应的n个寄存器中,与所述第i组乘法器对应的n个寄存器中的第一个寄存器对应的卷积器矩阵中的元素为:所述卷积器中第(i-1)行,第(n-1)列的元素、与所述第i组乘法器对应的n个寄存器中的第p个寄存器对应的卷积器矩阵中的元素为:所述卷积器中第(i-1)行,第(n-p)列的元素;其中,所述p为大于等于2小于等于n的整数,所述i为大于等于1且小于等于m的整数;所述(m-1)个存储器与所述m组寄存器中的(m-1)组寄存器一一对应,所述第一存储器的输出端与所述第一组寄存器中的第一个寄存器的输入端相连;其中,所述第一存储器为所述(m-1)个存储...
【专利技术属性】
技术研发人员:满宏涛,王振江,李拓,
申请(专利权)人:郑州云海信息技术有限公司,
类型:发明
国别省市:河南,41
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。