1.一种卷积神经网络加速器的前向传播计算加速方法,其特征在于,加速器包括上位机和FPGA模块,其中FPGA模块设置有两个端口,这两个端口分别按照奇数行、偶数行的规则读取上位机训练得到的M×M个权重、以及图片大小为M×M像素的像素信息,加速器的前向传播计算的加速方法具体包括以下步骤:S1、将FPGA模块的两个端口输入,并利用L个N1×N1卷积核同时对奇数行和偶数行输入像素按照不同区域进行扫描;对扫描区域内像素与对应卷积核权重进行乘积,每逢乘积结果数为N1×N1时,输出一个累加结果,立即与偏置进行相加,并进入激活函数Sigmoid,将其输出值作为最终的累加结果;最后将所有(M‑N1+1)×(M‑N1+1)个累加结果平均到RAM的A和B端口,当每个端口的累加结果计数为(M‑N1+1)×(M‑N1+1)÷2时,完成并行卷积;
S2、对A端口的(M‑N1+1)×(M‑N1+1)÷2个卷积结果两两比较,依照卷积结果降序排列,同时对B端口的(M‑N1+1)×(M‑N1+1)÷2个卷积结果两两比较,依照卷积结果降序排列,之后将A和B端口位于同一排列位置的卷积结果进行比较,输出较大值,当输出(M‑N1+1)÷2×(M‑N1+1)÷2个卷积结果时,最大池化处理结束;
S3、对(M‑N1+1)÷2×(M‑N1+1)÷2个像素执行步骤S1的并行卷积过程,当A和B端口的累加结果计数均为((M‑N1+1)÷2‑N1+1)×((M‑N1+1)÷2‑N1+1)÷2时,并行卷积处理结束,A和B端口的输出卷积结果;
S4、对A和B端口各自拥有的((M‑N1+1)÷2‑N1+1)×((M‑N1+1)÷2‑N1+1)÷2个卷积结果执行步骤S2的最大池化处理过程,当较大者计数为((M‑N1+1)÷2‑N1+1)÷2×((M‑N1+1)÷2‑N1+1)÷2时,最大池化处理结束;
S5、将((M‑N1+1)÷2‑N1+1)÷2×((M‑N1+1)÷2‑N1+1)÷2个像素分成((M‑N1+1)÷2‑N1+1)÷2个像素矩阵,每个像素矩阵列数为((M‑N1+1)÷2‑N1+1)÷2,行数为1,将A和B端口分别读取的奇数行和偶数行权重下采样成两个列数为1,行数为((M‑N1+1)÷2‑N1+1)÷2的权重矩阵,将((M‑N1+1)÷2‑N1+1)÷2个像素矩阵同时与两个权重矩阵相乘,从而得到((M‑N1+1)÷2‑N1+1)个分类,至此,完成对一幅图像的识别。
2.根据权利要求1所述的一种卷积神经网络加速器的前向传播计算加速方法,其特征在于,1