如何简单快捷地用小型Xiliinx FPGA加速卷积神经网络CNN

 如何简单快捷地用小型Xiliinx FPGA加速卷积神经网络CNN

刚好在知乎上看到这个问题 如何用FPGA加速卷积神经网络CNN,恰巧我的硕士毕业设计做的就是在FPGA上实现CNN的架构,在此和大家分享。

先说一下背景,这个项目的目标硬件是Xilinx的PYNQ。该开发板加载了Linux Ubuntu操作系统,可以在CPU上运行现有的Python CNN架构如Caffe和Theano。本设计旨在用PYNQ加载的ZYNQ FPGA对于CNN核心计算进行硬件加速,以达到对于大规模信息流进行大吞吐量CNN处理。

 如何简单快捷地用小型Xiliinx FPGA加速卷积神经网络CNN

该设计结构可以分为CPU端(前端)和FPGA端(后端)两部分。前端使用的是Python,用来与其他软件项目进行交互。前端将数据以数据流的形式由DDR传输到FPGA kernel。后端的FPGA硬件设计使用的是Synchronous Dataflow Paradigm。在这个结构之下,数据流以AXI-Stream的协议穿梭于每一个CNN层。每一个层都使用并行结构加上高性能流水线,使整体吞吐量效率达到一个非常可观的水平。

 如何简单快捷地用小型Xiliinx FPGA加速卷积神经网络CNN

上图为实现LeNet-5的硬件结构示意图。对于LeNet-5,该设计达到了1.88GOP/S的吞吐量,与PYNQ上的DUAL CORE ARM CPU相比加速约32倍。目前该架构可运行LeNet和CIFAR10,有教程。

这个项目结构比较简单,适合FPGA初学者作为研究起点使用。感兴趣的话,可以以这个架构为基础设计几个CNN的应用,或者在它的基础上进行优化和再创造。

具体代码和报告详见github:link

文章转载自:awai54st的博客

用户喜欢...

使用Xilinx系统生成器实现简单的DDS

在本文中,我们将讨论使用Xilinx System Generator实现简单的直接数字频率合成器(DDS)。 System Generator是一个功能强大的工具,它将Xilinx FPGA设计过程与MATLAB的Simulink集成,后者使用高级描述轻松实...


如何为RF应用选择,使用和维护同轴连接器

无线电频率(RF)电路在有线和无线通信中正在激增,包括用于物联网(IoT)的Wi-Fi和各种无线技术。这些高频信号需要在系统,电路组件和子组件之间进行分配,而损耗或寄生辐射损耗最小。...


如何快速实施符合Qi标准的无线充电系统

对于移动设备,充电过程仍然是最后的束缚。尽管诸如无线充电联盟(WPC)Qi规范等标准有助于支持更高的充电功率水平,但开发人员在设计电路,印刷电路板和固件时仍面临多重挑战,以全面...


如何快速将NFC功能添加到任何应用程序

为了满足对近场通信(NFC)能力日益增长的需求,开发人员被要求快速创建优化设计。传统方法的发展速度缓慢,因为设计人员面临诸如RF电路优化,NFC协议管理,功耗以及最小设计占用等挑战...


工作在Sub-GHz频段的无线模块为传感器网络提供了一条更加简单的途径

为了提高我们生活的方式的效率,工业化世界变得更加自动化。除了财务影响之外,提高效率可以对环境产生积极影响,因为我们使用的自然资源更少,污染物也更少。 自动化以需要以数据形...


降低机器人风险:如何设计安全的工业环境

工业自动化(IA)的增加,特别是工业机器人的使用,正在增加人类操作员与其他移动设备或移动机器之间的意外交互的机会。设计师有责任采取适当且经常重叠的安全预防措施,以避免从生产...


如何设计可靠,准确的存在感应

随着消费和工业系统变得更智能,更具交互性和更自主,他们需要能够感知对象,用户或路过者的存在。尽管基本的在场感知技术和技术已经很成熟,但设计人员面临着更精确,高效,经济高效...


物联网原型开发使用简单的单板设计

物联网,特别是工业物联网(IIoT)不仅负责为许多业务部门创造变革性的影响,还负责实现嵌入式IIoT解决方案开发方式的根本转变。许多面临此类项目的工程师选择选择市售的单板计算机(...


采取更简单的方式进行低功耗9轴运动跟踪

对于越来越多的可穿戴设备和物联网设计,检测方向和跟踪运动的能力正在成为关键要求。尽管有多种可用的运动传感器,工程师们仍然面临着更快,更高效地将这些设备集成到更低功率的挑...


无论环境如何,都可获得高精度,多通道温度测量

尽管温度测量是许多应用的常见要求,但开发人员在确保高度准确的结果方面面临严峻的挑战。克服这些挑战通常会导致设计复杂和设计周期延长,但新设备正在降低复杂性。 本文简要讨论与...


智能制造商如何将工业4.0原则提高到质量

质量很重要。许多制造商会告诉你,质量差,影响到最高和最低。他们会告诉你,质量差的后果正在崛起,社交媒体可能会使质量问题对OEM品牌造成破坏。他们也会告诉你,他们正在努力应对。...


数字双胞胎如何在物联网支持的环境中推动创新

动态数字表示或数字双胞胎正在迅速改变行业设计,构建和操作其产品和流程的方式。Gartner预测,到2021年,一半的大型工业公司将使用数字双子机,从而使这些机构的有效性得到10%的提高。...


设计无传感器FOC电机控制的一种快速而简单的方法

电机控制应用设计人员今天面临来自市场,竞争对手和监管机构的压力,要优化其系统的性能和效率,同时将电子系统的成本降到最低。从家用电器中的泵,风扇和压缩机到无人机和电动自行车...


如何建立一个可扩展的DIY iBeacon

在阅读Eddystone发布后,我对物理网络的概念感到非常兴奋。从200多个通知走出商场的想法在一定程度上蕴藏着我的热情,但是使用iBeacons做广告和销售以外的事情是一个非常有趣的机会。 我有一...


如何使用5.0“gen4 HMI显示器制作自己的数字定时器

你知道你可以轻松地创建自己的数字计时器吗? 您只需要以下材料: gen4-uLCD-50DCT-CLB(125-7950) gen4-PA(106-5303)和FFC电缆 扬声器 uSD卡 uUSB电缆 连接电线和5V电源 这个项目设计有三个功能,数字...


降低机器人风险:如何设计一个安全的工业环境

工业自动化(IA)的增加,尤其是工业机器人的使用,正在增加人类操作员与其他移动设备或移动机器之间的意外交互的机会。设计人员有责任采取适当且经常重叠的安全措施,以避免从生产中...