| 注册
home doc ppt pdf
请输入搜索内容

热门搜索

年终总结个人简历事迹材料租赁合同演讲稿项目管理职场社交

基于PYNQ平台的手写数字识别

下***风

贡献于2019-04-04

字数:6271


基PYNQ台实现手写数字识


1设计概述
11PYNQ台简介
PYNQ全称Python Productivity for Zynq原Zynq架构基础添加python支持Zynq赛灵思公司推出行业第扩展处理台系列芯片中集成ARM处理器FPGA编程逻辑器件旨视频监视汽车驾驶员辅助工厂动化等高端嵌入式应提供需处理计算性水PYNQ希够助python语言身易易学扩展库全社区活跃贡献度高等特性效降低Zynq嵌入式系统开发门槛PYNQARM处理器FPGA器件底层交互逻辑完全封装起顶层封装python需import应模块名称导入应硬件模块进行底层层数交互者系统提供硬件加速
简单说直接硬件底层进行封装户助封装库文件直接python语言操作硬件IO脚等功软件工程师说需复杂繁琐开发工具基浏览器Jupyter Notebook工具直接编辑工程代码系统架构师助PYNQ设计更清晰软件接口系统架构硬件工程师言设计硬件台够更开发背景
目前支持PYNQ开发板3种图11示设计中开发板zcu104

图11支持pynq开发板
12设计目标概述
终实现目标:完全python脚控制手写数字识读入手写数字图片python opencv库函数读取测试图片Python控制Arm处理器调卷积池化等高速硬件电路进行计算然出手写数字识结果整体框图图12示





图12设计实现目标

2神网络搭建训练
21 MNIST数集
实验中选择MNIST数集进行手写数字识MNIST数集已嚼烂数集 教程会手 成 典范
MNIST 数集 httpyannlecuncomexdbmnist 获取 包含四部分
l Training set images trainimagesidx3ubytegz (99 MB 解压 47 MB 包含 60000 样)
l Training set labels trainlabelsidx1ubytegz (29 KB 解压 60 KB 包含 60000 标签)
l Test set images t10kimagesidx3ubytegz (16 MB 解压 78 MB 包含 10000 样)
l Test set labels t10klabelsidx1ubytegz (5KB 解压 10 KB 包含 10000 标签)
MNIST 数集美国国家标准技术研究 National Institute of Standards and Technology (NIST) 训练集 (training set) 250 手写数字构成 中 50 高中学生 50 口普查局 (the Census Bureau) 工作员 测试集(test set) 样例手写数字数


张图片28*28(图)黑白色构成(里黑色01浮点数黑色越深表示数值越1)图片采集手写09数字TensorFlow数集相关操作封装库中
22 神网络设计


搭建神网络输入图片进行训练终合适权重偏置权值存储起提供面硬件
实验中设置网络6层包括两卷积层两池化层两全连接层接softmax分类器输出概率值网络层输入输出kernel参数图示:



221 卷积层

卷积质种应加运算通设定步长 Kernel原图矩阵面移动做加运算值存放进入输出矩阵中
数通卷积网络图中显著特征会提取质信号处理卷积类似周围信息加权求者说信号进行滤波
222 池化层
卷积运算中存交叠程计算提取特征存关联性说特征冗余项特征表示面进行采样操作加池化层
池化种方法常般值池化均值池化项目实验中两池化层值池化

池化意义:
l 减少卷积运算产生冗余
l 池化层邻域特征点整合新特征
l 池化特征参数减少时(旋转移伸缩等)特性保留

223 机失活
神网络训练程中Dropout种广泛trickDropout说起非常简单训练程中前层输出值里会部分神元机死亡种死亡暂时训练时发生测试时恢复
Dropout减神元间赖问题减少拟合产生

224 Softmax
Softmax非线性函数
数全连接层已成维量值应取labelsoftmax进行化直观理解概率问题label加1


softmax直白说原输出313通softmax函数作映射成(01)值值累1(满足概率性质)理解成概率选取输出结点时候选取概率(值应)结点作预测目标

23 tensorflow训练
Tensorflow拥层级结构部署类服务器PC终端网页支持GPUTPU高性数值计算广泛应谷歌部产品开发领域科学研究机器学领域tensorflow方便搭建需神网络通调tensorboard网络训练准确率损失函数变化进行视化
MNIST数集搭建神网络面进行1000次迭代测试集面准确率达98左右面硬件设计
tensorboard中网络结构:

电脑终端中进行1000次迭代训练显示:

tensorboard中训练程中训练集测试集准确率变化:


时损失函数降低:


准确率趋势变化稳排拟合性训练结束层网络权值参数文件保存(bin文件)提供续硬件

3Vivado HLS实现硬件电路

31高层综合简介
传统FPGA设计流程中般顶模块化设计模块包括户编写RTL代码高层次综合指户采C\C++等高级语言编写程序通高层综合工具综合成RTL代码样极提高开发效率软件开发员参硬件开发中
Vivado HLSXilinx公司推出高层综合工具Vivado工具设计理念IP核心功模块做封装成IPVivado集成实现化设计复Vivado HLS做IP封装工具封装CC++SystemC者OpenCL等高级语言实现功函数
部分工作通高层次综合工具描述卷积池化运算C代码综合RTL代码载板子硬件电路实现卷积池化运算加速

32设计流程

设计输入里三文件需手动编写TestBenchC函数文件头文件Constraints文件创建工程时候完成器件时钟频率约束Directive理解引导文件通添加引导工具生成想电路全串行全行等

321实现方法

需实现种通卷积池化运算电路第步第二步卷积运算电路中实现第步第二步池化运算电路中实现

全连接运算中池化输出三维数组展开成维然权重矩阵相输出种运算通卷积运算实现权重矩阵转换四维数组然池化输出四维数组进行卷积运算样运算结果前面样需实现两种电路全连接运算通卷积运算电路完成

两模块通axi总线挂载cpu总线通cpu配置参数完成运算

322代码讲解

描述卷积运算需参数输入数矩阵高度宽度输出数矩阵高度宽度卷积核移动步长输入通道数输出通道数等padding指矩阵周围填充数值两种模式种全部填零种填入元素相等值里采第二种

通定义变量描述卷积运算参数
图中定义描述池化运算参数
实现卷积运算池化运算c语言程序
卷积运算:

池化运算:

Vivado HLS工具代码中添加引导文件样生成带axi总线接口模块通axi总线接口模块连接总线cpu配置参数



终生成模块示

1





4硬件系统搭建
41硬件系统集成









开vivado进入block design界面HLS生成两ip添加进需开发板面Arm处理器添加进zcu104开发板arm处理器ip名Zynq Ultrascale+ MPSoCxilinx开发板系统默认DDR接Arm处理器受块Arm处理器控制次设计中希Arm控制什时候进行卷积操作时需卷积池化两电路够访问存存中读取数工作流程图示






生成block design出加进zynqconvpool三ip外新ip两AXI interconnectAXI smartconnectprocessor system reset中AXI interconnectAXI smartconnect总线互连器ARM处理器master口通总线互连器分成两master线分连接convpoolslave接口实现卷积池化两ip控制Convpool两ipslave接口master接口卷积池化操作需存中读取数Convpool两ipmaster接口通总线互连器连接arm处理器slave接口实现存访问











42Python开发硬件
421pythonip操作
Pynq必须python3Python硬件配置调Overlay函数调方法from pynq import Overlay面介绍Overlay函数功
Overlay函数指定烧写FPGAbit文件首先指定特流文件
方法:
from pynq import Overlay
olOverlay(testbit)

bit文件烧进PL调Overlaydownload函数
oldownload()

Download函数Python通download函数PS发出指令PL进行编程PL指Progarmmable Logic开发板编程逻辑部分FPGA PS指 Processing System开发板面arm处理器
执行oldownload()需bit文件tcl脚Bit文件vivado工程生产bitstreamtcl脚生成:开block design状态export block designpython脚放相路径

查调设计中ip
ip_dict函数

执行ip_dict函数返回设计中物理址物理址宽度ip类型等等参数help(Conv_0)查函数执行convolConv_0相ippython中实现例化help(conv)查ip函数里readwrite函数



Write函数需指定需写寄存器址需写入值Read函数需指定寄存器址返回该寄存器值(讲pre时说读写存应该读写ip中寄存器值)

址必须int类型值必须int者bytes否会出错
422python存操作
函数:Xlnk调方法from pynq import XlnkXlnk官方介绍


Xlnk法numpy类似存中开出块数组存放需权值矩阵数值Xlnk开出物理址连续空间存储数DDR中连续区间存储数调pointer函数physical_address函数返回虚拟址真实物理址Xlnk开数组保证设计convpool ip取数时候取出取正确数

第次卷积操作需数进行存分配实际操作代码



开出数组需训练网络权值导入权值矩阵供续首先bin文件中权值读出重新排列写入存中

43 完整硬件计算程
代码示分分类图片数读入第层卷积第层池化第二层卷积第二层池化第层全连接第二层全连接出分类结果阶段面阶段具体操作进行讲解


分类图片数读入

读入手写数字图片张jpg尺寸28*28(改变尺寸mnist数集相)素点灰度值255原灰度值mnist图片中255代表黑普通图片0黑

图数存入存中名image物理空间中

第层卷积


根面讲write函数卷积电路功配置次卷积需参数

配置卷积核高度卷积核宽度XY方步长Padding模式否需relu权值矩阵W全部值权值矩阵b全部值输出卷积计算结果等等
convwrite函数寄存器写数物理址写入存中相应值第层卷积操作中相应寄存器写入卷积核高度卷积核宽度XY方步长Padding模式否需relu具体值存放权值矩阵W权值矩阵b寄存器通读取存中数赋值卷积计算结果放入存h_conv1中

分计算开始束信号定义电路结构关vivado hls做完高层综合会生产c语言驱动需读写寄存器c语言函数中定义Run poolRun conv函数c驱动翻译式改写面C语言驱动路径


第层池化
池化操作函数定义


基操作模式第层卷积相次卷积次池化两次全连接终计算出09数字概率选取作结果输出



文档香网(httpswwwxiangdangnet)户传

《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档

下载文档,方便阅读与编辑

文档的实际排版效果,会与网站的显示效果略有不同!!

需要 5 香币 [ 分享文档获得香币 ]

购买文档

相关文档

基于机器学习的手势识别研究

基于机器学习的手势识别研究目录摘 要 IIIAbstract IV第一章 绪论 11.1课题背景及问题的提出 11.2 手势识别技术发展现状及发展趋势 11.3论文主要内容 3第二章 基于 OpenCV 的手势识别基础理论 42.1 OpenCV 概述 42.2OpenCV库函数 42.3手势 52.3图像处理 52.4基于机器学习的手势识别

平***苏 3年前 上传791   0

基于FPGA的数字跑表

基于FPGA的数字跑表学院:物电学院姓名: 学号:班级:班日期:2011年X月X日目录一、实例的主要内容 3二、实验目标: 41初步掌握Verilog HDL语言的设计方法 42、完成一个数字跑表的设计。 4三、实验原理: 4四、程序代码及分析 5五、实验步骤 95.1新建一个文件夹, 95.2创建工程 105.3 编译、运行程

文***品 3年前 上传632   0

基于人脸识别的动态识别签到系统设计与实现

目标检测(Object Detection)是近年来计算机科学的研究重点,他可以通过识别目标的几何特征,将复杂的场景分割并针对特定的目标进行识别,关键点在于准确度以及实时性 。人脸识别(Face recognition)则是目标检测中,让人最为看重的一个子类。

平***苏 3年前 上传1212   0

基于opencv的车牌识别系统设计与实现

 基于opencv的车牌识别系统设计与实现 Design and implementation of LPR system based on opencv

平***苏 2年前 上传747   0

基于视觉的车道线识别算法研究毕业论文

毕业设计基于视觉的车道线识别算法研究Research on Algorithms of Vision-basedLane Recognition 2009 届 电气与电子工程 分院 专 业 自动化 学 号 学生姓名

知***享 4年前 上传997   0

基于图像识别的智能小车系统设计

第1章 绪论1.1 课题背景目前,在企业生产技术不断提高、对自动化技术要求不断加深的环境下,智能车辆以及在智能车辆基础上开发出来的产品已成为自动化物流运输、柔性生产组织等系统的关键设备。世界上许多国家都在积极进行智能车辆的研究和开发设计。智能车辆也叫无人车辆,是一个集环境感知、规划决策和多等级辅助驾驶等功能于一体的综合系统。它具有道路障碍自动识别、自动报警、自动制动、自动保持安全距离、车速和

平***苏 8个月前 上传243   0

—基于机器学习的人脸识别算法的设计与实现

人脸识别技术是一种新型的生物特征认证技术。人脸识别技术也是一个非常活跃的研究领域,涵盖了许多领域,例如数字图像处理。随着人们对应用程序需求的增长,面部识别技术趋向于大量使用,使用微芯片和标准化。

平***苏 3年前 上传830   0

基于matlab的人民币面额识别

基于matlab的人民币的自动识别 姓 名 学 号 院 系 信息科学与工程学院 专 业 年 级 指导老

文***8 4年前 上传1048   0

基于python的人脸识别系统

随着科技的不断发展,人工智能在人类生活的应用越来越普及,作为当前最受关注的生物特征识别的方法,人脸识别在考勤、边检、安防、运输等领域有着巨大应用前景,是人工智能与计算机视觉领域的研究热点之一。

爱***享 3年前 上传2119   2

手写信

  哈哈,写下这几个字,我笑了,感觉已经不认识自己的字了。本来,只想和你说一下,里面有几件护肤品,担心你不知道怎么用,想写个纸条说明一下,却突然想到,不如写封信吧,这个想法实在太棒了。   你肯定不知道,我写上一封信,是在什么时候。我仔细回想了一下,好像是在2008年,也是现在这个季节,四、五月的光景。印象中,那时是因为要给**一位朋友寄**特产,跑去**叠山路的某个邮局寄东西,那个时候,

游***七 9年前 上传5771   0

基于单片机的数字电压表

 基于单片机的数字电压表 摘要:本文介绍一种基于89S52单片机的一种电压测量电路,该电路采用ICL7135高精度、双积分A/D转换电路,测量范围直流0-±2000伏,使用LCD液晶模块显示,可以与PC机进行串行通信。正文着重给出了软硬件系统的各部分电路,介绍了双积分电路的原理,89S52的特点,ICL7135的功能和应用,LCD1601的功能和应用。该电路设计新颖、功能强大、可扩展性强

山***1 5年前 上传1055   0

手写论文的格式

手写论文的格式  一、 引言  引言(前言、导言、绪言、序言)是正文的引子,相当于演说中的开场白。国内刊物引言部分不需另立标题。引言应当对正文起到提纲挈领和引导阅读兴趣的作用。在写引言之前首先应明确几个基本问题:你想通过本文说明什么问题?它是否值得说明?本文将在什么杂志发表或本文的读者是什么人?在写引言乃至整篇论文时都应注意这几个问题。   引言在内容上应包括:为什么要进行这项研究?

n***w 10年前 上传417   0

数字图像处理车牌识别课程设计matlab实现附源代码

基于matlab的车牌识别系统一、 目的与要求目的:利用matlab实现车牌识别系统,熟悉matlab应用软件的基础知识,了解了基本程序设计方法,利用其解决数字信号处理的实际应用问题,从而加深对理论知识的掌握,并把所学的知识系统、高效的贯穿到实践中来,避免理论与实践的脱离,巩固理论课上知识的同时,加强实践能力的提高,理论联系实践,提高自身的动手能力。同时不断的调试程序也提高了自己独立编程水平

文***享 1年前 上传345   0

数字化大厦、大型会所RFID身份识别系统-RFID解决方案

数字化大厦、大型会所RFID身份识别系统-RFID解决方案  一、系统概述  本方案将无线射频识别技术(即RFID技术)、红外传感技术应用到大型机关单位的开放式门禁管理或数字化大厦,成功的解决了完全依赖保安人员进行机关大门管理的现象,极大地提高了机关单位人员管理的智能化、人性化、安全化、信息化程度;了解了外访人员的区域信息,对安全防范工作起到了及大的帮助。  将射频卡识别技术

q***l 11年前 上传541   0

电子信息工程基于单片机的隐形指纹识别系统

(基于单片机的隐形指纹识别系统)(An invisible fingerprint identification system based on single chip microcomputer)中文摘要随着科技的飞速发展,人们的安全意识也越来越强,在隐私、财产安全的问题上,提出了许许多多的解决方案。在众多方案中,人们运用的最多的就是指纹识别。因为指纹具有唯一性以及终生不变性

平***苏 1年前 上传244   0

基于单片机的颜色识别早教系统设计与实现

 基于单片机的颜色识别早教系统设计与实现 Design and implementation of colorRecognition early education systembased on single chip mi

平***苏 3年前 上传638   0

基于小波分析的板型缺陷识别方法

基于小波分析的板型缺陷识别方法 张潜 高立群 王贞祥 (东北大学信息科学与工程学院, 110004) 摘要 本文提出了一种基于小波分析的冷轧板形缺陷识别的新方法。在识别中首先利用小波变换、分解、重构达到消噪目的。然后,利用四类模型进行缺陷识别。该方法解决了缺陷中的1/4浪和边中复合浪无法识别的问题,本文着重介绍了五项式模型识别方法,该方法的有效性和准确性非常明显,具有一定的使用价

M***G 14年前 上传19891   0

基于语音识别技术的智能家居控制系统的设计

21世纪经济快速发展,人们对物质文化的需求也越来越高。在信息科技的支持下,事物在朝着简单化、便捷化、智能化的方向发展。在此背景下应运而生而生的智能家居,正是信息时代的典型产物。

王***朝 4年前 上传1201   0

基于Matlab的特定人孤立词识别系统开题报告

合肥师范学院本科毕业论文(设计)开题报告(学生填写)学号姓名指导教师题目基于MATLAB的特定人孤立词识别系统课题内容: 课题任务:本论文主要介绍在Matlab平台上进行特定人孤立词的处理和识别。语音识别是让机器自动识别和理解语音信号,并把语音信号转变为相应的文本或命令的技术。通过MATLAB平台建立一个GUI界面,接着对一组语音信号的输入进行预处理及端点检测,提取特征参

文***享 1年前 上传399   0

基于Python的识别图片中文字的工具设计与实现

 基于Python的识别图片中文字的工具设计与实现Design and Implementation of a Python Based Tool for Recognizing Characters in Pictures

平***苏 2年前 上传581   0

基于JavaEE平台的城市公交便利度系统

城市公交便利度分析系统(Analysis system of urban public transport convenience)是一个以深圳公交巴士为例的便利度分析系统,系统地对比深圳不同地区的公交巴士便利度状况,且管理员可以对公交信息以及公园信息进行增删改的功能,而普通用户则可以查询到公交和公园的基本信息。

爱***享 3年前 上传550   0

基于Action的数据分析大数据平台

 基于Action的用户行为分析大数据平台Action-based user behavior analytics big data platform内容摘要电商平台作为当前最受欢迎,热度最高的平台,流量高,数据量大,数据种类多本文利用了逆向工程思维从现在热度高、流量高、数据量大的各个电商网站平台,对用户行为收集js脚本进行分析,并从多方面对脚本采集的数据进行判断和推测其具体内

平***苏 10个月前 上传247   0

基于Android的志愿活动平台的设计与实现

 基于Android的志愿活动平台的设计与实现 内容摘要伴随着移动互联网的迅速发展,“互联网+志愿服务“方式出现并衍生了许多相关应用与产品,志愿服务方式也更为多元。诸如“志愿汇”、“i志愿”

平***苏 1年前 上传480   0

基于JavaEE平台的设计资源交易平台的设计与实现

中国因改革开放政策实施的缘故,社会经济水平与日俱增,人民的消费水平也随之升高,中国正在经历前所未有的消费升级,越来越多的消费者在满足基本物质需求的基础上追求精致生活。

爱***享 3年前 上传498   0

手写式介绍信

手写式介绍信  ×政介字××号  ×××:  兹介绍×××,×××等××名同志(系×××),前往贵处联系××××××××××××事宜,敬请接洽并予以协助。  此致  敬礼  ××单位(公章)  ××××年×月×日本文档由香当网(https://www.xiangdang.net)用户上传

m***1 12年前 上传620   0