有关YOLO目标检测的FPGA加速教程(一)

1.内存卡的装配

详见:https://blog.csdn.net/weixin_38438451/article/details/83474479

在这一步,开发板启动后,可以通过超级终端HyperTerminal软件连接到Pynq,通过com端口查看ip进行以太网连接。

2.pynq上网

一、笔记本电脑需要先连上外网,可以连上家里的WIFI,或者手机开热点(本人未测试过连接手机的热点,但是理论上应该可行)。

二、打开网络共享中心->更改适配器设置->无线网络连接->属性->共享->允许其他网络用户通过此计算机连接->选择本地连接->确定

三、完成第二部后会分配一个ip给本地连接,例如我的无线网络连接的ip是192.168.7.34,分配给本地连接的ip是192.168.137.1,我们需要的就是这个本地连接的ip,这个ip也是开发板的网关ip。电脑本地连接ip == 开发板的网关ip!

四、开发板通过网线连接笔记本电脑,修改开发板的ip地址,需要对应好自己的网关地址配置ip,例如网关ip是192.168.137.1,配置ip的命令:ifconfig eth0 192.168.137.XXX,XXX随便写个数字(除了1)

五、网关配置为笔记本电脑上的本地连接的ip地址,例如:route add default gw 192.168.137.1,记住这个ip每台电脑分配的都可能不同,把这个ip修改成自己电脑上对应的本地连接ip。

六、最后尝试ping www.baidu.com吧!

3.安装pip

详见:https://www.runoob.com/w3cnote/python-pip-install-usage.html

4.Tiny YOLO上板测试

参考大神之作:https://github.com/Xilinx/QNN-MO-PYNQ

1)下载文件(可能需要10分钟时间左右,我的网速比较慢,)
# (on PYNQ v2.3 only)
sudo pip install git+https://github.com/Xilinx/QNN-MO-PYNQ.git

漫长的等待呀......

有关YOLO目标检测的FPGA加速教程(一)_第1张图片

一杯茶的功夫,终于完成了

有关YOLO目标检测的FPGA加速教程(一)_第2张图片

安装完成后,我们可以看到jupyter中出现了我们刚才安装的库用例。

有关YOLO目标检测的FPGA加速教程(一)_第3张图片

2)初始化,打开该文件,即可运行我们的Tiny YOLO。

有关YOLO目标检测的FPGA加速教程(一)_第4张图片

内部的逻辑欣赏一下:

有关YOLO目标检测的FPGA加速教程(一)_第5张图片

首先导入必要的库。我们在安装pip的时候,安装了qnn库和yolo算法的darknet库。

有关YOLO目标检测的FPGA加速教程(一)_第6张图片

然后安装分类器,初始化我们的加速器(配置文件形式和权重形式)。

在我个过程中,我们的加速器Overlay被示例化进我们的FPGA中,成为我们的硬件协加速器。

该加速器已经由库设计好,

在以后在进阶开发中,我们可以创建自己的协加速器。

 

注意:

当项目过大时,git clone时会出现error: RPC failed; 

如果在clone的时候报错了,需要在命令后加 --depth 1

 git clone https://github.com/Xilinx/QNN-MO-PYNQ.git --depth 1

depth用于指定克隆深度,为1即表示只克隆最近一次commit.

这种方法克隆的项目只包含最近的一次commit的一个分支,体积很小,即可解决文章开头提到的项目过大导致Timeout的问题,但会产生另外一个问题,他只会把默认分支clone下来,其他远程分支并不在本地,所以这种情况下,需要用如下方法拉取其他分支:

$ git clone --depth 1 https://github.com/dogescript/xxxxxxx.git
$ git remote set-branches origin 'remote_branch_name'
$ git fetch --depth 1 origin remote_branch_name
$ git checkout remote_branch_name

5.解决问题

出现了一点问题,被卡了半天,就是python2里没有pynq这个库,所以我们还是要把python版本进行切换,重新再来一次......

首先先来看一下我们的默认Python版本:

$ python --version
Python 2.x.x

然后我们修改一下别名

$ alias python='/usr/bin/python3':
$ python --version
Python 3.6.5  # 版本已经改变

1)再次下载文件(继续消耗我那珍贵的10分钟时间)
sudo pip3 install git+https://github.com/Xilinx/QNN-MO-PYNQ.git

又是漫长的等待呀......

终于呀,又完成任务

有关YOLO目标检测的FPGA加速教程(一)_第7张图片

2)运行文件

直接运行tiny-yolo-image-loop.ipynb

上图

有关YOLO目标检测的FPGA加速教程(一)_第8张图片

大功告成!

 

你可能感兴趣的:(FPGA,PYNQ,YOLO,目标检测,PYNQ,目标检测,神经网络)