使用Theano,Python,PYNQ和Zynq开发定点Deep Recurrent神经网络

2018-02-01来源: 21IC中国电子网关键字:可编程逻辑  FPGA  DRNN

可编程逻辑(PLD)是由一种通用的集成电路产生的,逻辑功能按照用户对器件编程来确定,用户可以自行编程把数字系统集成在PLD中。经过多年的发展,可编程逻辑器件由70年代的可编程逻辑阵列器件 (PLD) 发展到目前的拥有数千万门的现场可编程阵列逻辑 (FPGA),随着人工智能研究的火热发展,FPGA的并行性已经在一些实时性很高的神经网络计算任务中得到应用。由于在FPGA上实现浮点数会耗费很多硬件资源,而定点数虽然精度有限,但是对于不同应用通过选择合适的字长精度仍可以保证收敛,且速度要比浮点数表示更快而且资源耗费更少,已经使其成为嵌入式AI和机器学习应用程序的理想选择。


最新的证明点是英国伯明翰大学电子电气和系统工程系的Yufeng Hao和Steven Quigley最近发表的论文。论文标题为“在Xilinx FPGA上实现深度递归神经网络语言模型“,介绍了使用Python编程语言成功实现和训练基于固定点深度递归神经网络(DRNN); Theano数学库和多维数组的框架; 开源的基于Python的PYNQ开发环境; Digilent PYNQ-Z1开发板以及PYNQ-Z1板上的赛灵思Zynq Z-7020的片上系统SoC。Zynq-7000系列装载了双核ARM Cortex-A9处理器和28nm的Artix-7或Kintex-7可编程逻辑。在单片上集成了CPU,DSP以及ASSP,具备了关键分析和硬件加速能力以及混合信号功能,出色的性价比和最大的设计灵活性也是特点之一。使用Python DRNN硬件加速覆盖(一种赛灵思公司提出的硬件库,使用Python API在硬件逻辑和软件中建立连接并交换数据),两个合作者使用此设计为NLP(自然语言处理)应用程序实现了20GOPS(10亿次每秒)的处理吞吐量,优于早期基于FPGA的实现2.75倍到70.5倍。


论文的大部分讨论了NLP和LM(语言模型),“它涉及机器翻译,语音搜索,语音标记和语音识别”。本文随后讨论了使用Vivado HLS开发工具和Verilog语言实现DRNN LM硬件加速器,可以为PYNQ开发环境合成一个定制的硬件覆盖。由此产生的加速器包含五个过程元素(PE),能够在此应用程序中提供20GOPS的数据吞吐量。以下是设计的框图:

DRNN加速器框图


Vivado设计套件为下一代超高效率的C/C++和基于IP的设计提供了新的方法。融入了新的超快高效率设计方法集,用户可以实现10-15倍的效率的提升。Vivado HLS支持ISE和Vivado设计环境,可以通过集成C,C++和SystemC标准到赛灵思的可编程器件中而无需创建RTL模型,加快IP的创建。


这篇论文中包括了大量深入的技术细节,但是这一句话总结了这篇博客文章的理由:“更重要的是,我们展示了软件和硬件联合设计和仿真过程在神经网络领域的应用“。考虑到PYNQ-Z1开发板的售价为229美元,这种说法是完全正确的。


原文链接:https://forums.xilinx.com/t5/Xcell-Daily-Blog/U-of-Birmingham-team-develops-fixed-point-Deep-Recurrent-Neural/ba-p/805717

关键字:可编程逻辑  FPGA  DRNN 编辑:王磊 引用地址:http://news.pyfle.com/qrs/article_2018020144432.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于Virtex UltraScale+FPGA的可配置的HES-HPC-HFT-XCVU9P PCIe 卡
下一篇:可编程逻辑实现数据中心互连

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

基于可编程逻辑的便携式设备多节锂聚合物电池管理
是现在便携式较大功率设备的必然选择,如何管理和维护这个电池组使其高效长寿命地工作也是摆在电子设计师面前的任务。本文提供了一个新思路,即采用简单而精确的电路,将复杂的模拟量转化为数字量,从而简化外部电路的设计,把复杂的充电时序控制交给可编程逻辑来处理。这样做不仅非常灵活,精度高,而且还降低了成本。
发表于 2017-09-11
PLC可编程逻辑器件选择方法
和程序执行的时间。5 支撑技术条件的考虑    选用PLC时,有无支撑技术条件同样是重要的选择依据。支撑技术条件包括下列内容:    (1) 编程手段    便携式简易编程器主要用于小型PLC,其控制规模小,程序简单,可用简易编程器; CRT编程器适用于大中型PLC,除可用于编制和输进程序外,还可编辑和打印程序文本; 由于IBM-PC已得到普及推广,IBM-PC及其兼容机编程软件包是PLC很好的编程工具。目前,PLC厂商都在致力于开发适用自己机型的IBM-PC及其兼容机编程软件包,并获得了成功。    (2) 进行程序文本处理    简单程序文本处理以及图、参量状态和位置的处理,包括打印梯形逻辑; 程序标注,包括触点和线圈的赋值名
发表于 2017-01-05
基于可编程逻辑阵列的RS232至RS422的串行口扩展电路
由于RS-422总线具有抗干扰能力强、通讯速率高、通讯距离远、可以与多台从机通讯等特点,所以,该总线在数据采集、监控管理及集散控制系统的主从式多机通讯系统中得到普遍应用。但是,若在一条RS-422 通讯总线上连接过多的从机,则有可能会由于总线负担过重,而使系统可靠性变差,有时甚至会导致整个系统无法正常工作。 为了解决RS422总线在实际应用中可能出现的问题,笔者设计出一种以可编程逻辑阵列GAL16V8为核心的串行口扩展电路。它可将微机的一路RS232串行口扩展至4路RS-422串行口。该电路通过主机软件对DTR、RTS控制信号的编程,可以和任选通讯接口的从机进行数据通讯;也可以不用DTR、RTS控制信号,而直接实现主机与全部
发表于 2016-09-30
基于STM32和CPLD可编程逻辑器件的等精度测频技术
在电子工程、资源勘探、仪器仪表等相关应用中,频率测量是电子测量技术中最基本最常见的测量之一,频率计也是工程技术人员必不可少的测量工具。但是,传统的频率测量方法在实际应用中有较大的局限性,基于传统测频原理的频率计的测量精度将随被测信号频率的变化而变化,传统的直接测频法其测量精度将随被测信号频率的降低而降低,测周法的测量精度将随被测信号频率的升高而降低。本文中提出一种基于ARM与CPLD宽频带的数字频率计的设计,以微控器STM32作为核心控制芯片,利用CPLD可编程逻辑器件,实现闸门测量技术的等精度测频。 本设计的技术指标: 测频范围:1Hz~200MHz,分辨率为0.1Hz,测频相对误差百万分之一。 周期测量:信号测量
发表于 2016-09-20
基于STM32和CPLD可编程逻辑器件的等精度测频技术
松下推出适用于可编程逻辑控制器的“PA-N继电器”
松下公司宣布已成功研发出“PA-N继电器”,并将于2016年4月推出该产品。该新产品符合国际电工委员会(IEC)标准,并通过美国保险商实验室(UL)用于控制工厂生产设施的可编程逻辑控制器标准的认证。该产品实现了3,000V的高击穿电压,同时具有良好的抗冲击性能和低功耗。其有望协助PLC(可编程逻辑控制器)制造商开发符合这些新标准的产品。  应用领域: 可编程逻辑控制器、工业设备等的输出。
发表于 2016-04-26
松下推出适用于可编程逻辑控制器的“PA-N继电器”
工业控制可编程逻辑控制器(PLC)解决方案
/ADuC7126应用: 工业控制和自动化系统  智能传感器、精密仪器  基站系统、光纤网络  病人监护    图1.ADuC7124/ADuC7126功能方框图 ADI PLC(可编程逻辑控制器)解决方案 PLC系统由电源、CPU和多个模拟及数字I/O模块组成,可控制、执行和监控复杂的机器变量;PLC设计用于多输入和输出配置,具有扩展的温度范围、卓越的电噪声抑制性能、抗震性和抗冲击能力。 PLC系统包括电源、控制和通信模块以及多种模拟输入、模拟输出、数字输入和数字输出模块。 工业PLC系统设计考虑和主要挑战 为了获得合适的PLC系统设计,设计人员必须考虑许多不同的系统要求,包括精度、带宽和输入范围
发表于 2015-05-26
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2020 pyfle.com, Inc. All rights reserved
吉林快3 快乐飞艇官网 快乐飞艇微信群 99彩票导航网 快乐飞艇怎么样稳赚 快乐赛车一期计划 玩快乐飞艇犯法吗 快乐飞艇怎么玩能赚钱 快乐飞艇6码计划算法 乐彩网