前面讲解了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相关推荐

  1. 神经网络LeNet5的 的 FPGA RTL级实现 3

    经过了前面的开胃菜,项目正式开始.一步步讲解这个模型怎么玩起来的.从C 到 matlab 到 FPGA ,三个平台联合起来完成这个 由 RTL 实现 CNN 的项目. 第一步,讲解深度学习模型在C中是 ...

  2. FPGA RTL级设计原则

    1.1 FPGA RTL级设计原则 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA RTL级设计原则: 5)结束语. 1.1.2 本节引言 "不积跬步 ...

  3. 【FGPA】RTL级的意思

    求科普:RTL级是什么意思 我用FPGA只知道写VERILOG,然后MODELSIM仿真,然后综合.一直看大家说RTL级,这是个什么意思,还有其他级吗? sdwsh (2012-7-27 13:26: ...

  4. IC设计通过system c 建模和 rtl级的有什么区别

    对于IC项目的设计.验证各个阶段,都是在玩弄model,只不过是大家的观看视角不同而已.有些人喜欢华丽外表的model,有些人关注身披薄纱的.或一丝不挂的. SystemC是一种建模语言,可以对软硬件 ...

  5. 深度学习(四)卷积神经网络Lenet-5实现

    卷积神经网络Lenet-5实现 原文地址:http://blog.csdn.net/hjimce/article/details/47323463 作者:hjimce 卷积神经网络算法是n年前就有的算 ...

  6. Verilog的数据流、行为、结构化与RTL级描述

    Verilog语言可以有多种方式来描述硬件,同时,使用这些描述方式,又可以在多个抽象层次上设计硬件,这是Verilog语言的重要特征. 在Verilog语言中,有以下3种最基本的描述方式: 数据流描述 ...

  7. (四)RTL级低功耗设计

    前面介绍了系统级的低功耗设计,换句话说就是在系统级降低功耗可以考虑的方面.系统级的低功耗设计,主要是由系统级设计.具有丰富经验的人员实现,虽然还轮不到我们设计,我们了解一下还是比较好的.我们前端设计人 ...

  8. HLS:卷积神经网络LeNet5的实现与测试

    目录 一.引言 二.LeNet5的学习 三.数学知识补充 四.HLS代码设计 五.仿真综合与优化 六.Zynq平台搭建测试 七.一些注意点 八.文献时间线与后续工作 一.引言 1.开发环境. Wind ...

  9. 深度学习 CNN卷积神经网络 LeNet-5详解

    卷积神经网络( Convolutional Neural Network, CNN): 是一种常见的深度学习架构,受生物自然视觉认知机制(动物视觉皮层细胞负责检测光学信号)启发而来,是一种特殊的多层前 ...

最新文章

  1. Bagging与随机森林算法原理小结
  2. 影响网站快照异常的因素有哪些?
  3. 数据挖掘Apriori算法
  4. 惠普电脑如何下载c语言软件,惠普笔记本电脑上的语言栏怎么弄
  5. 程序员对学历高吗?毕业是考研还是实习?
  6. cocos2d之列表容器节点再排序
  7. c语言必背代码百度云,c语言初学必背代码.docx
  8. 如何正确地将Blender模型导入进Unity3D
  9. Android color颜色-色号总结
  10. Enzo Life Sciences/艾美捷丨线粒体/胞浆分离试剂盒
  11. winpe 能否修复服务器系统盘,U盘WINPE、光盘WINPE系统(启动修复盘)制作图文教程...
  12. 国内IT界5大女神程序员,你知道几个
  13. 【jzoj1592】【二分】【GDKOI训练】音乐节拍
  14. android ipad 播放器,[AS3]专业级跨平台网页播放器支持PC、iPad、iPhone、Android系统...
  15. Julia语法归纳总结
  16. 淘宝私域流量有哪些?怎么获取淘宝私域流量?
  17. vue 点击打开小窗口
  18. php 面试,PHP 经典面试题集
  19. P4844 LJJ爱数数 数论
  20. Elasticsearch学习(四) - 查询①

热门文章

  1. 华为vlan聚合(超级vlan)配置实例
  2. 个人总结php笔试题一
  3. 计算机接口中 可以直接进行插拔操作的是,计算机应用基础题库及答案二
  4. 雅思英语听力考试综述
  5. [附源码]计算机毕业设计JAVA农村留守儿童援助信息系统论文2022
  6. Java程序员涨薪必备技能(1-3年必看!)
  7. 前端性能优化方法与实战12 理论分析:Hybrid 下的性能优化整体分析
  8. 华为盒子突然显示连接不到服务器,启动云盒子服务器找不到路径
  9. web服务器/中间件漏洞系列2:weblogic漏洞汇总
  10. Intellig IDEA 中文设置 汉化