神经网络LeNet5的 的 FPGA RTL级实现 4
前面讲解了C程序的基本情况,下面就是重中之重 —— 数据如何使用。也就是群中分享的文件。首先看两个文件夹
dat_save_img5 ---> 此文件夹中采用MNIST数据集里第五张图的数据。方便在matlab中导入。
dat_save_img5_fpga --- > 此文件夹中的数据与上面的一样,只是采用里并行输出方式,方便在FPGA中导入。当然你在FPGA中采用上一个文件夹中的数据完全没问题。
例如 权重 W23 在上述两个文件夹中分别是。第二种排列,我将数据导入到FPGA的rom中,一个地址读一次就可以将一个 5x5的权重矩阵读出来,第一种排列导入到rom中就需要递增25个地址读25次。就是这个差别了。
下面说第一层数据的引用。
第一层,输入数据为 32x32 的矩阵,打开txt文件一张二值化的 4 显现出来,这个在之前的 2 章节有截图。这个 32x32 的图像经过了 6 个 5x5的卷积核,卷积之后出来了 6 张 28x28 的小图。打开 dat_save_img5_fpga 中的 lay1_dat.txt 还可以分辨出6张4的二值化小图。整个运算过程是什么样子的呢? 便于理解我将 matlab中的程序贴一部分出来,三张图依次是 导入txt数据(cell),转换成double类型准备运算,运算过程
妥妥的 5x 5 卷积之后再加上一个 bias,然后relu一下 —— 负数就归0. 第一层 OVER !所以用FPGA实现 神经网络是很简单的(需要一个量化后的精度验证环境)。需要注意一点的是,matlab中强制类型转换默认是四舍五入,导致和C语言中的导出的数据有一点点差别,但是不影响最终的结果。
下面一层是pooling ,就是简单的2x2的矩形框里找最大数,步进为2。 matlab实现方式如下:
依次类推到最后一层,第六层。也就是文件里面的outx.txt的数据。
最终结果,因为C中的截断 与matlab中默认的四舍五入 两种定点化方式不同导致结果数据大小有一点点不同。但是不影响最终结论。推断出也是数据4 。
前面的铺垫如此了,后面的文章就是专门介绍 HDL 部分。
神经网络LeNet5的 的 FPGA RTL级实现 4相关推荐
- 神经网络LeNet5的 的 FPGA RTL级实现 3
经过了前面的开胃菜,项目正式开始.一步步讲解这个模型怎么玩起来的.从C 到 matlab 到 FPGA ,三个平台联合起来完成这个 由 RTL 实现 CNN 的项目. 第一步,讲解深度学习模型在C中是 ...
- FPGA RTL级设计原则
1.1 FPGA RTL级设计原则 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA RTL级设计原则: 5)结束语. 1.1.2 本节引言 "不积跬步 ...
- 【FGPA】RTL级的意思
求科普:RTL级是什么意思 我用FPGA只知道写VERILOG,然后MODELSIM仿真,然后综合.一直看大家说RTL级,这是个什么意思,还有其他级吗? sdwsh (2012-7-27 13:26: ...
- IC设计通过system c 建模和 rtl级的有什么区别
对于IC项目的设计.验证各个阶段,都是在玩弄model,只不过是大家的观看视角不同而已.有些人喜欢华丽外表的model,有些人关注身披薄纱的.或一丝不挂的. SystemC是一种建模语言,可以对软硬件 ...
- 深度学习(四)卷积神经网络Lenet-5实现
卷积神经网络Lenet-5实现 原文地址:http://blog.csdn.net/hjimce/article/details/47323463 作者:hjimce 卷积神经网络算法是n年前就有的算 ...
- Verilog的数据流、行为、结构化与RTL级描述
Verilog语言可以有多种方式来描述硬件,同时,使用这些描述方式,又可以在多个抽象层次上设计硬件,这是Verilog语言的重要特征. 在Verilog语言中,有以下3种最基本的描述方式: 数据流描述 ...
- (四)RTL级低功耗设计
前面介绍了系统级的低功耗设计,换句话说就是在系统级降低功耗可以考虑的方面.系统级的低功耗设计,主要是由系统级设计.具有丰富经验的人员实现,虽然还轮不到我们设计,我们了解一下还是比较好的.我们前端设计人 ...
- HLS:卷积神经网络LeNet5的实现与测试
目录 一.引言 二.LeNet5的学习 三.数学知识补充 四.HLS代码设计 五.仿真综合与优化 六.Zynq平台搭建测试 七.一些注意点 八.文献时间线与后续工作 一.引言 1.开发环境. Wind ...
- 深度学习 CNN卷积神经网络 LeNet-5详解
卷积神经网络( Convolutional Neural Network, CNN): 是一种常见的深度学习架构,受生物自然视觉认知机制(动物视觉皮层细胞负责检测光学信号)启发而来,是一种特殊的多层前 ...
最新文章
- Bagging与随机森林算法原理小结
- 影响网站快照异常的因素有哪些?
- 数据挖掘Apriori算法
- 惠普电脑如何下载c语言软件,惠普笔记本电脑上的语言栏怎么弄
- 程序员对学历高吗?毕业是考研还是实习?
- cocos2d之列表容器节点再排序
- c语言必背代码百度云,c语言初学必背代码.docx
- 如何正确地将Blender模型导入进Unity3D
- Android color颜色-色号总结
- Enzo Life Sciences/艾美捷丨线粒体/胞浆分离试剂盒
- winpe 能否修复服务器系统盘,U盘WINPE、光盘WINPE系统(启动修复盘)制作图文教程...
- 国内IT界5大女神程序员,你知道几个
- 【jzoj1592】【二分】【GDKOI训练】音乐节拍
- android ipad 播放器,[AS3]专业级跨平台网页播放器支持PC、iPad、iPhone、Android系统...
- Julia语法归纳总结
- 淘宝私域流量有哪些?怎么获取淘宝私域流量?
- vue 点击打开小窗口
- php 面试,PHP 经典面试题集
- P4844 LJJ爱数数 数论
- Elasticsearch学习(四) - 查询①