[发明专利]用于卷积神经网络硬件加速的数据处理方法有效
申请号: | 201810523617.X | 申请日: | 2018-05-28 |
公开(公告)号: | CN108805267B | 公开(公告)日: | 2021-09-10 |
发明(设计)人: | 黄智勇;李渊明;吴海华;虞智 | 申请(专利权)人: | 重庆大学 |
主分类号: | G06N3/04 | 分类号: | G06N3/04 |
代理公司: | 重庆志合专利事务所(普通合伙) 50210 | 代理人: | 胡荣珲;代婵 |
地址: | 400044 重*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种用于卷积神经网络硬件加速的数据处理方法,其通过分析卷积神经网络并行特征,结合硬件的并行处理能力,对卷积神经网络进行硬件加速,加速方案从3个方面对Tiny‑yolo网络进行加速改进:(1)通过多通道并行输入提升Tiny‑yolo网络的处理速度,(2)通过并行计算提升Tiny‑yolo网络卷积计算的速度,(3)通过池化嵌入减少Tiny‑yolo网络的池化过程时间。其大大提高了卷积神经网络的检测速度。 | ||
搜索关键词: | 用于 卷积 神经网络 硬件加速 数据处理 方法 | ||
【主权项】:
1.一种用于卷积神经网络硬件加速的数据处理方法,其特征在于,将卷积神经网络的池化操作对应嵌入卷积计算,包括如下步骤:1)当卷积神经网络的卷积层的输出特征图尺寸为M*M时,预设一个行缓冲器pool_buf,行缓冲器pool_buf的长度为M/2;2)池化操作在有卷积输出时就开始进行,卷积计算完成的同时也完成池化:在所述卷积层的每个输入通道的卷积计算过程中,当卷积输出第一行的第2个卷积输出值output_2时,将卷积输出第一行的第2个卷积输出值output_2与第1个卷积卷积输出值output_1进行比较,选取其中较大值存入行缓冲器pool_buf的第一个位置,当卷积输出第一行的第4个卷积输出值output_4时,将卷积输出第一行的第4个卷积输出值output_4与第3个卷积卷积输出值output_3进行比较,选取其中较大值存入行缓冲器pool_buf的第二个位置,依次类推,直到卷积输出第一行的第M个卷积输出值output_M时,行缓冲器pool_buf中已经存入了M/2个待比较值;然后等到卷积输出第二行的第2个卷积输出值output_(M+2)时,将卷积输出第二行的第2个卷积输出值output_(M+2)与第1个卷积输出值output_(M+1)进行比较,选取其中较大值与行缓冲器pool_buf中第一个位置缓存的数据进行比较,得到最大值即池化输出值后直接输出,并将行缓冲器pool_buf中第一个位置清空,依此类推,当输出M/2个池化输出值时,行缓冲器pool_buf里面已经全部清空,完成对前两行卷积输出的池化操作,当卷积输出第三行的卷积输出值时,重复卷积输出第一行的操作,将每相邻2个卷积输出值进行比较并选取其中较大值存入行缓冲器pool_buf,直到卷积输出第三行的第M个卷积输出值output_3M时,M/2个待比较值又缓存在行缓冲器pool_buf里,然后等到卷积输出第四行的卷积输出值时,重复卷积输出第二行的操作,将每相邻2个卷积输出值进行比较并选取其中较大值后与行缓冲器pool_buf中对应位置缓存的待比较值进行比较,得到最大值即池化输出值后直接输出,并将行缓冲器pool_buf中对应位置清空,当再次输出M/2个池化输出值时,行缓冲器pool_buf里面已经全部清空,依此类推,直至完成整个卷积输出的特征图的池化操作。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆大学,未经重庆大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201810523617.X/,转载请声明来源钻瓜专利网。