卷积运算装置、方法、电子设备及介质制造方法及图纸

技术编号:32028313 阅读:26 留言:0更新日期:2022-01-27 12:42
本公开提供一种卷积运算装置,用于对输入矩阵及权值矩阵进行卷积运算,包括:水平数据处理模块,用于对所述输入矩阵的行数据的顺序进行转换,以实现读取的所述行数据的共享,其中,一个所述水平数据处理模块处理一行所述行数据;竖直数据处理模块,用于将所述权值矩阵与所述水平数据处理模块输出的矩阵数据做乘法运算,对乘法运算结果做交叉加法运算,对交叉加法运算结果做累加运算,得到所述输入矩阵的卷积运算结果;其中,所述竖直数据处理模块包括多个输入,每个输入连接至一个所述水平数据处理模块的输出。本公开还提供一种卷积运算方法、一种电子设备以及一种计算机可读存储介质。质。质。

【技术实现步骤摘要】
卷积运算装置、方法、电子设备及介质


[0001]本公开涉及卷积神经网络硬件加速领域,特别是涉及一种卷积运算装置、方法、电子设备及介质。

技术介绍

[0002]卷积神经网络(Convolutional Neural Networks,CNN)是深度学习的代表算法之一。CNN因其在人工智能领域的卓越性能,被广泛关注并应用于图像分类、语音识别、人脸识别、自动驾驶以及医学成像等高科技应用中。目前已涌现出如AlexNet、VGG、ResNet等性能优秀的CNN结构。随着CNN的持续发展,网络结构日益复杂,参数数量爆炸增长,对CNN硬件加速器的设计提出新的挑战。
[0003]由于现场可编程门阵列(Field Programmable Gate Array,FPGA) 出色的灵活编程性和突出的性能功耗比,目前主流的CNN正向推断加速器多采用基于FPGA的加速方案。CNN是计算密集型结构,其中海量的矩阵卷积计算对加速器设计带来挑战。为了达到更好的加速效果,很多经典CNN FPGA加速器设计都聚焦于矩阵卷积计算结构的优化。
[0004]在矩阵卷积本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种卷积运算装置,用于对输入矩阵及权值矩阵进行卷积运算,包括:水平数据处理模块,用于对所述输入矩阵的行数据的顺序进行转换,以实现读取的所述行数据的共享,其中,一个所述水平数据处理模块处理一行所述行数据;竖直数据处理模块,用于将所述权值矩阵与所述水平数据处理模块输出的矩阵数据做乘法运算,对乘法运算结果做交叉加法运算,对交叉加法运算结果做累加运算,得到所述输入矩阵的卷积运算结果;其中,所述竖直数据处理模块包括多个输入,每个输入连接至一个所述水平数据处理模块的输出。2.根据权利要求1所述的卷积运算装置,其中,所述水平数据处理模块包括:第一移位寄存器链、第二移位寄存器链以及第一多路选择器,所述第一移位寄存器链的输出连接至所述第二移位寄存器链的输入,所述第二移位寄存器链的输出连接至所述第一移位寄存器链的输入;所述第一移位寄存器链、第二移位寄存器链以及第一多路选择器基于FPGA芯片实现;所述第一多路选择器用于选择所述行数据输入的移位寄存器链;所述第一移位寄存器链及第二移位寄存器链用于对所述行数据进行移位,将所述行数据转换成卷积窗口所需要的单行数据顺序;其中,当所述第一移位寄存器链或所述第二移位寄存器链的最后一个移位移位寄存器的输出数据为相邻卷积窗口的交叠数据时,所述第一移位寄存器链将此时最后一个移位移位寄存器的输出数据输入至所述第二移位寄存器链,或所述第二移位寄存器链将此时最后一个移位移位寄存器的输出数据输入至所述第一移位寄存器链。3.根据权利要求1所述的卷积运算装置,其中,所述竖直数据处理模块包括:乘法器、加法树、累加器及第二多路选择器,所述乘法器、加法树、累加器及第二多路选择器基于FPGA芯片实现;所述第二多路选择器用于选择当前执行的数据运算通路;所述乘法器用于将所述权值矩阵的每行数据与对应的所述水平数据处理模块输出的矩阵数据做乘法运算;所述加法树用于对乘法运算的结果做交叉加法运算;所述累加器用于对交叉加法运算的结果做累加运算,得到所述卷积运算结果。4.根据权利要求1所述的卷积运算装置,...

【专利技术属性】
技术研发人员:屈心媛黄志洪蔡刚方震
申请(专利权)人:中国科学院空天信息创新研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1