[发明专利]一种基于FPGA平台的按通道进行预读取数据的分块卷积方法在审
申请号: | 202110253729.X | 申请日: | 2021-03-09 |
公开(公告)号: | CN112950656A | 公开(公告)日: | 2021-06-11 |
发明(设计)人: | 包振山;郭鹏;张文博 | 申请(专利权)人: | 北京工业大学 |
主分类号: | G06T7/11 | 分类号: | G06T7/11;G06T11/40;G06T1/20 |
代理公司: | 北京思海天达知识产权代理有限公司 11203 | 代理人: | 刘萍 |
地址: | 100124 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 fpga 平台 通道 进行 读取 数据 分块 卷积 方法 | ||
1.一种基于FPGA平台的按通道进行预读取数据的分块卷积方法,其特征在于:通过块卷积和按通道进行数据预读取的方法;同时在卷积过程中利用并行流水的方法优化卷积过程;
步骤1.对数据进行分块处理;
将输入特征图分割成4个大小相同的小块,为了保证每个小块进行卷积重新排列后的输出特征图与输入特征图经过卷积操作后得到的输出特征图大小相同,需要对每个小块四边进行填充操作,在本发明中选用0值进行填充;
步骤2.按通道进行数据读取;
输入特征图的维度按照batch size,input channels,height,weight的顺序排列,卷积核的维度按照output channels,input channels,height,weight的顺序排列;改变数据的读取方向即通过转置这些维度使input channel成为最后一个维度;
数据将按通道进行读取,所占用的缓存大小最多为K*W*C,其中K为卷积核大小,W为输入特征图宽度,C为输入特征图通道数;
步骤3.卷积操作优化;
卷积输入特征图与权重的矩阵乘法操作,公式如下:
y=g(WTx) (1)
其中,g表示激活函数,x表示输入特征图,WT表示卷积核的转置,y表示卷积核W在输入特征图x上学习到的特征,即输出特征图;
在卷积优化过程中,利用了并行计算和流水线的方法对矩阵运算进行加速;在FPGA中,输入特征图和卷积核都被存储在内存单元中,以便能够并行获取数据;在计算过程中,由许多寄存器阶段组成,并非等待当前的计算完成,而是在下一个时钟周期继续获取内存,从而创建一个数据处理的流水线;
步骤4.根据步骤3,预测运算的关键代码,生成IP核;
在卷积IP核中,包括如下结构:
a.Input Buffer:输入数据缓冲区;
b.Weight Buffer:权值数据缓冲区;
c.Output Buffer:输出数据缓冲区;
d.AXI-Stream:允许无限制的数据突发传输,为高性能数据传输协议;
e.AXI-Lite:一种轻量级的地址映射单次传输协议,适用于硬件运算单元的控制信号传输;
f.Memory Interconnect:数据通路互联;
g.DMA:直接内存存取,负责加速器和内存间的数据传输;
h.Control Interconnect:控制信号线路互联;
i.PE:乘法计算单元;
每个PE负责输入特征图的像素和相应权值的乘法计算,后面跟着一个加法树结构来累加卷积的中间结果;
步骤5.在操作系统下,将硬件比特流式的文件烧写到开发版中,并编写IP核和硬件设备的驱动;
在驱动的编写中,采用访问Linux字符设备的方式访问各个硬件设备;在DMA的驱动编写中采用映射机制进行数据填充;所述映射机制为在内存中预留出一段连续的物理内存,将其映射到内核空间中的一段地址中,然后将该段内核空间地址映射到用户空间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110253729.X/1.html,转载请声明来源钻瓜专利网。