Zynqnet(二)算法设计

本文重点介绍了Zynqnet在FPGA上的CNN算法设计,包括卷积层的需求分析,如1x1和3x3卷积、ReLU激活和全局平均池化。算法设计中探讨了矩阵乘法、快速傅里叶变换和滑窗卷积三种方法,Zynqnet选择了滑窗2D卷积。并行分析中强调了FPGA的并行计算优势,如输入通道、输出通道和卷积计算本身的独立性。数据复用策略利用板上内存减少外部读写,包括Image Cache、Output Cache、Global Pooling Cache和Weights Cache。
摘要由CSDN通过智能技术生成

论文地址:https://github.com/dgschwend/zynqnet/blob/master/zynqnet_report.pdf

摘要:该论文核心内容从第三章开始依次介绍了CNN的优化分析和训练,第四章FPGA加速器的设计和实现,第五章实验结果和分析。关于cnn的优化分析和训练部分,不是本博文介绍的重点,需要一些深度学习知识支撑,重点介绍一下FPGA端的实现知识。

4.2算法设计

4.2.1 需求分析

• convolutional layers

  • – kernel size 1×1, padding 0
  • – kernel size 3×3, padding 1
  • – stride 1 or stride 2

• ReLU nonlinearities
• concatenation
• global average pooling

以上内容为FPGA端需要实现的操作。

4.2.2 算法设计

给出了多通道下卷积计算的公式。然后分析了三种卷积计算的方法:

  • Matrix Multiplication 使用gemm函数,将输入输出转化为矩阵乘法的计算
  • Fast Fourier Transformation 快速傅立叶变换
  • Sliding-Filter 2D Convolution Approach 卷积计算直观理解上的滑窗计算方法

Zynqnet选择使用最后一种卷积计算方法,然后给出了自己的算法,实现输入图片经过神经网络进行计算的功能。

按照如下计算顺序:

每个卷积层:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值