-
use hls to finish the frame of lenet5, realize to recognize handwritten numbers
-
try to use sdsoc software
-
python直接使用nn实现手写数字识别,可以达到92~93%的准确率
-
python 实现cnn手写数字识别,这里使用了dropout,和lenet5有所区分,具体的网络已经分析出来了
-
conv和pool的hls实现
-
zynq block框架搭建
-
sdk cnn框架搭建,mnist手写数字识别成功
-
cpp上位机端发送图片数据,在zynq端进行识别
由上图可见,实际发送数字与实际结果一致。
对于这部分,直接采用现有结构即可,关键在于tensorflow和pytorch的参数的定义完全不是一致的,例如tf的数据格式为x、y、z, 到了pytorch这就变成了z、y、z,为了一劳永逸,这里重新设计了conv的结构,变得符合pytorch的格式要求。
改用lenet5实现手写数字识别
可以看到,所有的数字都识别正确,准确率接近100%,这个还是很高的,非常值得提倡。
首先,需要实现的是图像采集到显示的基本框架,然后将CNN结构加进去,自然而然就形成了整个CNN图像识别的系统。
基本框架如上图所示
在PS端实现CNN,然后在PL端进行部分加速,整个神经网络就搞定啦。