[发明专利]一种基于FPGA平台的按通道进行预读取数据的分块卷积方法在审

专利信息
申请号: 202110253729.X 申请日: 2021-03-09
公开(公告)号: CN112950656A 公开(公告)日: 2021-06-11
发明(设计)人: 包振山;郭鹏;张文博 申请(专利权)人: 北京工业大学
主分类号: G06T7/11 分类号: G06T7/11;G06T11/40;G06T1/20
代理公司: 北京思海天达知识产权代理有限公司 11203 代理人: 刘萍
地址: 100124 *** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 一种 基于 fpga 平台 通道 进行 读取 数据 分块 卷积 方法
【说明书】:

一种基于FPGA平台的按通道进行预读取数据的分块卷积方法属于基于硬件的神经网络的定制化优化加速领域。本发明利用FPGA的高灵活性,对整个计算过程进行定制化设计,以提高整个推断过程的计算速度。在数据预读取方面,将特征图进行分块,从而消除传统卷积过程中的各层之间的依赖性,并且以按通道读取的方式进行数据读取,减少缓存的占用;在卷积过程中,利用循环流水和循环展开来充分利用FPGA的大量计算资源,增加计算的并行力度。同时为了使得流水线的流水间隔为1,本发明把并行循环展开层调整到最内层循环中。此种方法充分利用了数据局部性,并降低了硬件所需数据带宽,提高了计算吞吐率。

技术领域

本发明涉及一种基于FPGA平台的按通道进行预读取数据的分块卷积方法,属于基于硬件的神经网络的定制化优化加速领域。

背景技术

近年来,卷积神经网络(CNN)在图像分类、目标检测和语音识别等方面取得了很大的进展。CNN在准确率上远远超过其他机器学习算法,但在精度提高的同时,CNN的模型网络参数不断加深增加,而且在CNN中的卷积运算是计算的主要方式,卷积会产生大量的计算资源消耗。因此在使用神经网络完成某一特定任务时,不仅所需的计算量和内存会越来越大,时间成本和功耗也会越来越高。所以,对CNN进行优化设计,对于网络加速和终端节点的部署方面具有重要意义。

GPU是目前CNN加速问题最流行的解决方案,主要是对卷积过程进行优化和加速,但由于GPU功耗大的缺点,很难在很多嵌入式设备中应用。为了将CNN推广到更多的应用领域,尤其是嵌入式设备,人们提出了许多基于FPGA和ASIC的硬件加速方案。基于FPGA的设计由于能达到比GPU更好的节能性能而受到越来越多的关注;它还比ASICs提供了更多的灵活性;更重要的是,高级合成(HLS)工具Vivado HLS和OpenCL的出现大大减少了开发时间和编程复杂性。

与GPU相比,FPGA具有更低的能耗,但在性能上仍远远落后于GPU。这主要是因为现有的CNN模型依赖于对浮点数据的密集计算。然而,FPGA有限的计算单元和片上缓冲器极大地限制了它的加速能力。为了减少计算内存和通信带宽的需求,可以利用模型压缩的方法减小CNN模型的大小,如利用低精度的权重、激活甚至梯度来训练CNN网络模型。但是,在上述方法中内存仍然有很高的占用,无法充分发挥FPGA可定制的优势。因此,本发明以减少FPGA内存占用为切入点,提出了按通道进行数据预读取的分块卷积方法,从而减少FPGA的内存占用,优化整个神经网络。

发明内容

本发明的目的在于提出一种基于FPGA平台的按通道进行预读取数据的分块卷积方法,创新点在于利用FPGA的高灵活性,对整个计算过程进行定制化设计,以提高整个推断过程的计算速度。在数据预读取方面,将特征图进行分块,从而消除传统卷积过程中的各层之间的依赖性,并且以按通道读取的方式进行数据读取,减少缓存的占用。本方法选用Xilinx公司的PYNQ-Z2芯片作为实验平台,首先通过PYNQ-Z2的处理系统(PS,ProcessingSystem,一个基于双ARM Cortex A9内核的处理系统,其中集成了内存存储器、外部存储器接口和大量的外设接口)部分将特征图进行加载,使用AXI4协议以直接地址访问(DMA,Direct Memory Access)的方式将数据传输到可编程逻辑(PL,Programmable Logic,基于Xilinx 7系列架构的可编程逻辑单元)部分。PS部分主要负责数据的输入和结果的输出,以及完成PS端的配置;而PL部分则负责将整个网络进行定制化的设计,将PS部分传输过来的特征图进行分块,同时在数据读取时,更改数据的读取方向,以减少内存的占用。面对多层循环计算时,将以循环展开的方式进行流水线设计。然后通过Vivado HLS和Vivado工具生成定制化的IP核,部署到FPGA开发板上。最后,网络的数据结果可以通过PS端基于Web访问的Jupyter Notebook(在线编辑工具)进行查看。

本发明采用的技术方案为一种基于FPGA平台的按通道进行预读取数据的分块卷积方法,属于软硬件协同设计的一种方法,该方法的实现步骤如下:

步骤1.对数据进行分块处理。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京工业大学,未经北京工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110253729.X/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top