CN107944548A - 一种fpga实现卷积层的设计方法 - Google Patents

一种fpga实现卷积层的设计方法 Download PDF

Info

Publication number
CN107944548A
CN107944548A CN201711240484.7A CN201711240484A CN107944548A CN 107944548 A CN107944548 A CN 107944548A CN 201711240484 A CN201711240484 A CN 201711240484A CN 107944548 A CN107944548 A CN 107944548A
Authority
CN
China
Prior art keywords
matrix
data
mxm
design method
convolutional layer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201711240484.7A
Other languages
English (en)
Inventor
许昌平
吴琦
肖潇
龚纯斌
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ruishi Chikaku (shenzhen) Algorithm Technology Co Ltd
Original Assignee
Ruishi Chikaku (shenzhen) Algorithm Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ruishi Chikaku (shenzhen) Algorithm Technology Co Ltd filed Critical Ruishi Chikaku (shenzhen) Algorithm Technology Co Ltd
Priority to CN201711240484.7A priority Critical patent/CN107944548A/zh
Publication of CN107944548A publication Critical patent/CN107944548A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/06Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
    • G06N3/063Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means

Abstract

本发明公开一种FPGA实现卷积层的设计方法,在图像矩阵中依次提取矩阵m×m的数据,利用matrix_mxm模块将矩阵m×m的数据与滤波核为m×m的数据计算卷积和,一幅图像数据的卷积和由多个matrix_mxm模块构成,完成一幅图像的特征提取。此种设计方法可极大地提升内部计算速率和效率,从而缩短计算时间,提升效能。

Description

一种FPGA实现卷积层的设计方法
技术领域
本发明涉及深度学习算法及卷积神经网络算法在FPGA平台的实现,特别是针对卷积神经网络算法中核心部分卷积层的设计,涉及一种FPGA实现卷积层的设计方法。
背景技术
卷积神经网络是深度学习的一个重要算法,在很多应用上表现出卓越的效果,是近年来广泛应用于模式识别、图像处理领域里的一种高效识别的方法,具有简单结构、和适应性强的特点。
目前,卷积神经网络算法的重点在于多次计算其中的卷积和以提取特征值,通过卷积运算,可以使原信号得到增强,并且减少噪音。每种滤波器的参数不一样,表征图像的不同特征,通过卷积和的计算可以得到图像的不同反映。因此计算的速率和效率是设计的重点,而卷积神经网络算法的在FPGA平台的实现在于提高其计算速度和运行效率,传统做法大多数是通过CPU和GPU的平台实现,但是在效率和功耗方面略有不足。FPGA实现卷积神经网络的优势在于内部并行处理,可以达到很大的带宽,且功耗低,性能强大,实时性高。与CPU相比,FPGA内部大量的逻辑资源提供并行计算,性能更高,速率更快。和GPU相比,FPGA的功耗比GPU小得多。因此,用FPGA实现深度学习算法有很大的优势。
发明内容
本发明的目的,在于提供一种FPGA实现卷积层的设计方法,其可极大地提升内部计算速率和效率,从而缩短计算时间,提升效能。
为了达成上述目的,本发明的解决方案是:
一种FPGA实现卷积层的设计方法,在图像矩阵中依次提取矩阵m×m的数据,利用matrix_mxm模块将矩阵m×m的数据与滤波核为m×m的数据计算卷积和,一幅图像数据的卷积和由多个matrix_mxm模块构成,完成一幅图像的特征提取。
上述matrix_mxm模块在计算时,每行数据并行输入到matrix_mxm模块,计算完一个矩阵m×m的时间为m个周期。
上述matrix_mxm模块对每行数据的计算时间用轮询的方法解决,具体是将matrix_mxm模块输入数据通过移位寄存器将数据向后级传递,然后在sel信号的控制下,依次输出。
采用上述方案后,本发明利用FPGA平台设计,具有计算速度快、高效、功耗低等特点。且内部利用多路并行卷积和计算单元,轮询计算方式,可大大提高FPGA计算效率和速度,缩短计算时间,在大规模海量图片数据进行快速计算识别方面有很大的优势。
附图说明
图1是本发明的整体架构图。
具体实施方式
以下将结合附图,对本发明的技术方案进行详细说明。
如图1所示,本发明提供一种FPGA实现卷积层的设计方法,实现一幅图像矩阵为n×n的数据与滤波核为m×m的矩阵数据的卷积和。
在图像矩阵中依次提取矩阵m×m的数据,与滤波核为m×m的数据计算卷积和,这是图1中matrix_mxm模块的功能,该模块是卷积和的基本单元,matrix_mxm模块计算完一个矩阵m×m的时间为m个周期。一幅图像数据的卷积和由多个该基本单元构成,完成一幅图像的特征提取。
其中每行数据并行输入到matrix_mxm,这样设计可以极大地提高卷积计算的速度,也就是一幅图像数据的卷积和的计算时间即是其中一行运算的时间。而其中每行的计算时间在本实施例中用轮询的方法解决,具体方法是将matrix_mxm模块输入数据通过移位寄存器将数据向后级传递,而matrix_mxm模块计算完一个矩阵m×m的时间为m个周期,这样就可以保证第m个周期,这m个矩阵数据都已完成卷积和的计算,然后在sel信号的控制下,依次输出。这样设计可以确保在每个周期都有卷积和运算结果输出,相比较单个的依次计算卷积和(输出一次m×m的卷积和值后等待m个周期再次输出下一次m×m卷积和的计算结果),计算速度可以提高m倍。
以上实施例仅为说明本发明的技术思想,不能以此限定本发明的保护范围,凡是按照本发明提出的技术思想,在技术方案基础上所做的任何改动,均落入本发明保护范围之内。

Claims (3)

1.一种FPGA实现卷积层的设计方法,其特征在于:在图像矩阵中依次提取矩阵m×m的数据,利用matrix_mxm模块将矩阵m×m的数据与滤波核为m×m的数据计算卷积和,一幅图像数据的卷积和由多个matrix_mxm模块构成,完成一幅图像的特征提取。
2.如权利要求1所述的一种FPGA实现卷积层的设计方法,其特征在于:所述matrix_mxm模块在计算时,每行数据并行输入到matrix_mxm模块,计算完一个矩阵m×m的时间为m个周期。
3.如权利要求1所述的一种FPGA实现卷积层的设计方法,其特征在于:所述matrix_mxm模块对每行数据的计算时间用轮询的方法解决,具体是将matrix_mxm模块输入数据通过移位寄存器将数据向后级传递,然后在sel信号的控制下,依次输出。
CN201711240484.7A 2017-11-30 2017-11-30 一种fpga实现卷积层的设计方法 Pending CN107944548A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711240484.7A CN107944548A (zh) 2017-11-30 2017-11-30 一种fpga实现卷积层的设计方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711240484.7A CN107944548A (zh) 2017-11-30 2017-11-30 一种fpga实现卷积层的设计方法

Publications (1)

Publication Number Publication Date
CN107944548A true CN107944548A (zh) 2018-04-20

Family

ID=61948020

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711240484.7A Pending CN107944548A (zh) 2017-11-30 2017-11-30 一种fpga实现卷积层的设计方法

Country Status (1)

Country Link
CN (1) CN107944548A (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915322A (zh) * 2015-06-09 2015-09-16 中国人民解放军国防科学技术大学 一种卷积神经网络硬件加速方法及其axi总线ip核
CN106203621A (zh) * 2016-07-11 2016-12-07 姚颂 用于卷积神经网络计算的处理器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104915322A (zh) * 2015-06-09 2015-09-16 中国人民解放军国防科学技术大学 一种卷积神经网络硬件加速方法及其axi总线ip核
CN106203621A (zh) * 2016-07-11 2016-12-07 姚颂 用于卷积神经网络计算的处理器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
方睿,刘加贺,薛志辉,杨广文: "卷积神经网络的FPGA并行加速方案设计", 《计算机工程与应用》 *

Similar Documents

Publication Publication Date Title
CN108108809B (zh) 一种针对卷积神经元网络进行推理加速的硬件架构及其工作方法
CN109284817B (zh) 深度可分离卷积神经网络处理架构/方法/系统及介质
CN106203621B (zh) 用于卷积神经网络计算的处理器
CN107832082A (zh) 一种用于执行人工神经网络正向运算的装置和方法
CN109063825A (zh) 卷积神经网络加速装置
CN108647773B (zh) 一种可重构卷积神经网络的硬件互连系统
CN109447241B (zh) 一种面向物联网领域的动态可重构卷积神经网络加速器架构
CN107463990A (zh) 一种卷积神经网络的fpga并行加速方法
CN108764466A (zh) 基于现场可编程门阵列的卷积神经网络硬件及其加速方法
CN107656899A (zh) 一种基于fpga的模板卷积实现方法和系统
CN110163362A (zh) 一种计算装置及方法
CN113033794B (zh) 基于深度可分离卷积的轻量级神经网络硬件加速器
CN112286864B (zh) 加速可重构处理器运行的稀疏化数据处理方法及系统
Kala et al. UniWiG: Unified winograd-GEMM architecture for accelerating CNN on FPGAs
CN110598844A (zh) 一种基于fpga的并行卷积神经网络加速器及加速方法
CN103985083A (zh) 一种可重构的一维卷积处理器
CN109086879B (zh) 一种基于fpga的稠密连接神经网络的实现方法
CN111340198A (zh) 基于fpga的数据高度复用的神经网络加速器
CN112836813A (zh) 一种用于混合精度神经网络计算的可重构脉动阵列系统
CN102567282B (zh) 通用dsp处理器中fft计算实现装置和方法
Xiao et al. FPGA-based scalable and highly concurrent convolutional neural network acceleration
CN114003201A (zh) 矩阵变换方法、装置及卷积神经网络加速器
CN109472734A (zh) 一种基于fpga的目标检测网络及其实现方法
CN107944548A (zh) 一种fpga实现卷积层的设计方法
CN107220702B (zh) 一种低计算能力处理设备的计算机视觉处理方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20180420

RJ01 Rejection of invention patent application after publication