CN107944548A - 一种fpga实现卷积层的设计方法 - Google Patents
一种fpga实现卷积层的设计方法 Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical 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平台的实现在于提高其计算速度和运行效率,传统做法大多数是通过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信号的控制下,依次输出。
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)
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 | 姚颂 | 用于卷积神经网络计算的处理器 |
-
2017
- 2017-11-30 CN CN201711240484.7A patent/CN107944548A/zh active Pending
Patent Citations (2)
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)
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 |