3086|1

20

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【米尔边缘AI计算盒FZ5测评】手写数字识别——Letnet神经网络计算加速 [复制链接]

在了解基本神经网络的配置之后将利用HLS平台实现基本的神经网络,网络目前没有进行量化,选择的数据格式为float,由于神经网络的feature map较大,FPGA的片上RAM难以存储整个网络,所以采取逐层加速的方法,降低计算过程中对RAM的需求,但是网络会更容易受到DDR读写带宽的限制。下面对HLS程序进行简单的介绍:

首先使用AXI_Master总线用于读取位于PS侧的图像和权重数据,然后使用AXI_lite总线用于配置读取的物理地址。

通过AXI总线加载数据的函数如下所示:

根据UG902当中的介绍,在使用AXI总线时使用memcpy函数是可综合成实际电路的。加载完成后将使用逐层计算的方式进行加速:

运算过程中直接使用了for循环,没有根据计算过程设计更优的硬件,for循环中仅使用了流水线命令进行优化,同时使用了数组分割使数组直接映射为触发器,减少运算带宽问题,根据LetNet网络结构完成相关代码编写后,进行综合,HLS综合得到的结果如下所示:

可以看到整体资源占用较少,HLS综合得到的结果并不准确,时序和资源等参数仅能作为参考,需要使用vivado进行综合才能得到更为准确的结果。综合完成后导出IP,方便进行vivado工程搭建。搭建完成的vivado工程如下所示:

然后进行编译得到的结果如下所示:

可以看到整个工程的LUT占用较多,DSP占用较少,HLS部分还有很大的优化空间。然后将生成的tclbithwh文件导入pynq,然后打开ipynb文件运行相关程序:

首先配置相关寄存器:

寄存器的具体地址可以使用vivado或者SDK进行查看,然后逐层运行加速程序:

最终得到识别结果:

可以看到结果正确,并且进行一张图片的推理时间为0.005秒左右,说明计算帧率在200帧左右,效果良好。

 

 

 

 

 

 

最新回复

整个工程的LUT占用较多,DSP占用较少 何以见得呢   详情 回复 发表于 2021-3-20 21:08
点赞 关注

回复
举报

6802

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

整个工程的LUT占用较多,DSP占用较少

何以见得呢

 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表