机器学习
brank_z
从事FPGA数字图像、视频处理相关
展开
-
一张图看懂CNN运算
不知道哪位大神做得这张图,每每犯疑惑的时候都来看看这张图,瞬间又踏实了这张图是一个典型的input channel =3,output channel=2的情况,其中对输入的图像又涉及到了pad=1的操作,pad的处理可以保留原始图像的所有信息,pad的数据一般都是为0操作。图中的计算是还有一个stride的概念,及每次步进的距离,图中是stride=1。也可以用这张图的表...原创 2020-04-04 17:01:52 · 1859 阅读 · 0 评论 -
fpga 机器学习 rtl实现
准备开一个用fpga实现整个机器学习的专栏,也正好巩固自己目前所学的东西,同时也提高自己的code能力手撸一个cnn ip,其实目前cnn ip模式也挺固定,核心的conv计算,充分利用fpga内的DSP,怎么把ddr内的数据有效的存到片上RAM,IP的结构也比较固定,如下目前手里有块zedboard的板卡,准备在这上面实现整个功能,fpga内有arm核,一些处理也可以在软件上操作。...原创 2019-04-15 23:37:28 · 2080 阅读 · 0 评论 -
fpga 之cnn高效实现方式
在fpga实现cnn中最重要的模块部分-conv计算部分,可以称为是用fpga加速的根本。而计算最重要的关键则是如何充分利用fpga内的DSP,目前本人用的主要是ultrascale+,对应的dsp为DSP48e2。实现conv的两种方式:(1)并行方式,目前大多数fpga的conv计算都不是采用的此种方式,简单的说,如果要计算一个3*3的conv,则需要9个dsp,可以在一个时钟内...原创 2019-06-02 11:08:11 · 9497 阅读 · 3 评论 -
fpga实现cnn之脉动乘法理论篇
本次文章分为几个部分,主要细致介绍脉动,何为脉动,脉动的数据是什么样子的,下图可以看做是简单的脉动单元,共有P11到P33 9个计算单元,行列数据并不是同时刻到达计算单元,而是依次进入,说白了就是像FPGAer经常说的pipiline,这里面有个关键点是cnn的乘加操作,p11计算单元会在3个节拍进来6个数据,3个节拍后,p11=3*3+2*4+2*3=23,每个计算单元在计算的同时,数...原创 2019-08-25 14:19:51 · 889 阅读 · 0 评论