1.内存卡的装配
详见:https://blog.csdn/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吧!
3.安装pip
详见:https://www.runoob/w3cnote/python-pip-install-usage.html
4.Tiny YOLO上板测试
参考大神之作:https://github/Xilinx/QNN-MO-PYNQ
1)下载文件(可能需要10分钟时间左右,我的网速比较慢,)
# (on PYNQ v2.3 only)
sudo pip install git+https://github/Xilinx/QNN-MO-PYNQ.git
漫长的等待呀......
一杯茶的功夫,终于完成了
安装完成后,我们可以看到jupyter中出现了我们刚才安装的库用例。
2)初始化,打开该文件,即可运行我们的Tiny YOLO。
内部的逻辑欣赏一下:
首先导入必要的库。我们在安装pip的时候,安装了qnn库和yolo算法的darknet库。
然后安装分类器,初始化我们的加速器(配置文件形式和权重形式)。
在我个过程中,我们的加速器Overlay被示例化进我们的FPGA中,成为我们的硬件协加速器。
该加速器已经由库设计好,
在以后在进阶开发中,我们可以创建自己的协加速器。
注意:
当项目过大时,git clone时会出现error: RPC failed;
如果在clone的时候报错了,需要在命令后加 --depth 1
git clone https://github/Xilinx/QNN-MO-PYNQ.git --depth 1
depth用于指定克隆深度,为1即表示只克隆最近一次commit.
这种方法克隆的项目只包含最近的一次commit的一个分支,体积很小,即可解决文章开头提到的项目过大导致Timeout的问题,但会产生另外一个问题,他只会把默认分支clone下来,其他远程分支并不在本地,所以这种情况下,需要用如下方法拉取其他分支:
$ git clone --depth 1 https://github/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/Xilinx/QNN-MO-PYNQ.git
又是漫长的等待呀......
终于呀,又完成任务
2)运行文件
直接运行tiny-yolo-image-loop.ipynb
上图
大功告成!
更多推荐
有关YOLO目标检测的FPGA加速教程(一)
发布评论