[发明专利]一种CNN加速方法、加速装置及计算机可读存储介质在审
申请号: | 202010412121.2 | 申请日: | 2020-05-15 |
公开(公告)号: | CN111626405A | 公开(公告)日: | 2020-09-04 |
发明(设计)人: | 史超超 | 申请(专利权)人: | TCL华星光电技术有限公司 |
主分类号: | G06N3/04 | 分类号: | G06N3/04;G06N3/08;G06F13/28 |
代理公司: | 深圳紫藤知识产权代理有限公司 44570 | 代理人: | 杨艇要 |
地址: | 518132 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 cnn 加速 方法 装置 计算机 可读 存储 介质 | ||
本申请公开了一种CNN加速方法、加速装置及计算机可读存储介质,该加速方法和加速装置用于FPGA。所述方法为:通过DMA接口将完成边界填充的图像数据缓存进入行缓存区;调用FPGA内置的硬件加速单元对所述的行缓存区内的数据进行卷积运算,所述的卷积运算的卷积核大小为N×N,每个卷积层的行缓存接口数量为N;将完成卷积运算的像素缓存至缓存区,并通过DMA端口传输至外部DDR。所述装置包括:第一存储模块、运算模块和第二存储模块。所述存储介质中存储有多条指令,所述指令适于由处理器加载以执行本发明所述的CNN加速方法。
技术领域
本发明涉及图像处理技术,特别是涉及CNN加速方法、加速装置及计算机可读存储介质。
背景技术
卷积神经网络(Convolutional Neural Networks,简称为CNN)是图像处理中最重要、最常用的算法之一。CNN运算量大,运算时间长,设计高效的CNN硬件加速器难度较大,因而现阶段一般使用纯软件方式调用CPU(Central Processing Unit)及GPU(GraphicProcessing Unit)进行CNN加速运算,但加速效果往往受限于GPU计算单元数量,所以加速效果并不理想。此外,GPU价格高昂,不利于产品批量生产及推广。
针对现有技术中存在的CNN加速效果不理想的问题,目前还没有提出有效的解决方法。
发明内容
本发明提供一种CNN加速方法、加速装置及计算机可读存储介质,采用软硬件相结合的方式,有效提高了CNN加速效果。
为解决上述问题,第一方面,本发明提供了一种CNN加速方法,该方法用于FPGA(Field-Programmable Gate Array),该方法包括:
通过直接存储器访问(DMA,Direct Memory Access)接口将完成边界填充的图像数据缓存进入行缓存区;
调用FPGA内置的硬件加速单元对所述的行缓存区内的数据进行卷积运算,所述的卷积运算的卷积核大小为N×N,每个卷积层的行缓存接口数量为N;
将完成卷积运算的像素缓存至缓存区,并通过DMA端口传输至外部DDR(DoubleData Rate)。
其中,所述的卷积运算包括:
从bram(bipolar random access memory)中抓取所需要的N2个像素及对应的权重;
通过非0值判断模块判断所述的N2个像素及对应的权重是否存在零值;
对抓取的像素矩阵及对应的权重矩阵进行卷积计算:当所述的N2个像素及对应的权重不存在零值时,利用N2个乘法器对所述像素矩阵中的元素及所述权重矩阵中的元素进行乘法运算,然后利用N2-1个加法器对所述的N2个乘法器的输出数据相加,完成卷积运算;当所述的N2个像素及对应的权重存在零值时,则在使用乘法器进行乘法运算时,忽略掉所述零值对应的相乘项。
其中,所述CNN加速方法还包括:
调用HLS pipeline unroll指令;
且所述的调用HLS pipeline unroll指令与所述的卷积运算同时进行。
其中,所述CNN加速方法还包括:
对所述的卷积运算及将完成卷积运算的像素缓存至缓存区进行数据流操作。
其中,所述的边界填充由ARM(Advanced RISC Machine)CPU端完成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于TCL华星光电技术有限公司,未经TCL华星光电技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010412121.2/2.html,转载请声明来源钻瓜专利网。
- 上一篇:触控显示面板及触控显示装置
- 下一篇:一种组播表项自聚合的安全过滤方法